Module GenM_intf

type 'a gen = unit -> 'a option
module type MONAD = sig ... end
module type S = sig ... end