sig
  type 'a t
  val return : '-> 'GapiMonad.Monad.t
  val bind :
    'GapiMonad.Monad.t ->
    ('-> 'GapiMonad.Monad.t) -> 'GapiMonad.Monad.t
end