Module Monadise

Monadise

Make any direct-style function monadic without effort, but with effects!

module type Monad = sig ... end
module type S = sig ... end
module Make (M : Monad) : S with type 'a m = 'a M.t

Monadisation for some standard monads

module Option : sig ... end