include Basic2 with type ('a, _) t := 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b tThe following identities ought to hold (for some value of =):
return x >>= f = f xt >>= fun x -> return x = t(t >>= f) >>= g = t >>= fun x -> (f x >>= g)
Note: >>= is the infix notation for bind)