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