Parameter Make2.M

type ('a, 'e) t
val pure : 'a -> ('a, 'e) t

pure x creates a computation that results in x.

val zero : unit -> ('a, 'e) t

zero () creates a computation that has no result.