-something of type `'a` into an `'b reader`, and I'll show you how to
-turn an `'a tree` into an `'a tree reader`. In more fanciful terms,
-the `treemonadizer` function builds plumbing that connects all of the
-leaves of a tree into one connected monadic network; it threads the
-monad through the leaves.
+something of type `'a` into an `'b reader`---this is a function of the same type that you could bind an `'a reader` to---and I'll show you how to
+turn an `'a tree` into an `'b tree reader`. That is, if you show me how to do this:
+
+ ------------
+ 1 ---> | 1 |
+ ------------
+
+then I'll give you back the ability to do this:
+
+ ____________
+ . | . |
+ __|___ ---> | __|___ |
+ | | | | | |
+ 1 2 | 1 2 |
+ ------------
+
+And how will that boxed tree behave? Whatever actions you perform on it will be transmitted down to corresponding operations on its leaves. For instance, our `int reader` expects an `int -> int` environment. If supplying environment `e` to our `int reader` doubles the contained `int`:
+
+ ------------
+ 1 ---> | 1 | applied to e ~~> 2
+ ------------
+
+Then we can expect that supplying it to our `int tree reader` will double all the leaves:
+
+ ____________
+ . | . | .
+ __|___ ---> | __|___ | applied to e ~~> __|___
+ | | | | | | | |
+ 1 2 | 1 2 | 2 4
+ ------------