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