+Using continuations to solve the same fringe problem
+----------------------------------------------------
+
+We've seen two solutions to the same fringe problem so far.
+The simplest is to map each tree to a list of its leaves, then compare
+the lists. But if the fringes differ in an early position, we've
+wasted our time visiting the rest of the tree.
+
+The second solution was to use tree zippers and mutable state to
+simulate coroutines. We would unzip the first tree until we found the
+next leaf, then store the zipper structure in the mutable variable
+while we turned our attention to the other tree. Because we stop as
+soon as we find the first mismatched leaf, this solution does not have
+the flaw just mentioned of the solution that maps both trees to a list
+of leaves before beginning comparison.
+
+Since zippers are just continuations reified, we expect that the
+solution in terms of zippers can be reworked using continuations, and
+this is indeed the case. To make this work in the most convenient
+way, we need to use the fully general type for continuations just mentioned.
+
+tree_monadize (fun a k -> a, k a) t1 (fun t -> 0);;
+
+
+
+The Binary Tree monad