sig   type 'a m = 'a option   val return : 'a -> 'a BatOption.Monad.m   val bind :     'a BatOption.Monad.m ->     ('a -> 'b BatOption.Monad.m) -> 'b BatOption.Monad.m end