Make2.M
type ('a, 'e) t
val pure : 'a -> ('a, 'e) t
pure x creates a computation that results in x.
pure x
x
val zero : unit -> ('a, 'e) t
zero () creates a computation that has no result.
zero ()