- # tree_monadize t1 (fun i -> [ [i; square i] ]);;
- - : int list tree list =
- [Node
- (Node (Leaf [2; 4], Leaf [3; 9]),
- Node (Leaf [5; 25], Node (Leaf [7; 49], Leaf [11; 121])))]
+ # let decider i = if i = 2 then [20; 21] else [i];;
+ # tree_monadize decider t1;;
+ - : int tree List_monad.m =
+ [
+ Node (Node (Leaf 20, Leaf 3), Node (Leaf 5, Node (Leaf 7, Leaf 11)));
+ Node (Node (Leaf 21, Leaf 3), Node (Leaf 5, Node (Leaf 7, Leaf 11)))
+ ]