Module type Monad.S

type 'a m
val ret : 'a -> 'a m
val bind : 'a m -> ('a -> 'b m) -> 'b m