type 'a continuation = ('a -> 'b) -> 'b
c_unit (x:'a) = fun (p:'a -> 'b) -> p x
c_bind (u:('a -> 'b) -> 'b) (f: 'a -> ('c -> 'd) -> 'd): ('c -> 'd) -> 'd =
-fun (k:'a -> 'b) -> u (fun (x:'a) -> f x k)
+ fun (k:'a -> 'b) -> u (fun (x:'a) -> f x k)
</pre>
How similar is it to the List monad? Let's examine the type