sig
  type 'a m
  module Infix :
    sig
      val ( >>= ) :
        'GapiMonad.MonadCombinators.m ->
        ('-> 'GapiMonad.MonadCombinators.m) ->
        'GapiMonad.MonadCombinators.m
      val ( >> ) :
        'GapiMonad.MonadCombinators.m ->
        'GapiMonad.MonadCombinators.m -> 'GapiMonad.MonadCombinators.m
    end
  val join :
    'GapiMonad.MonadCombinators.m GapiMonad.MonadCombinators.m ->
    'GapiMonad.MonadCombinators.m
  val liftM :
    ('-> 'b) ->
    'GapiMonad.MonadCombinators.m -> 'GapiMonad.MonadCombinators.m
  val liftM2 :
    ('-> '-> 'GapiMonad.MonadCombinators.m) ->
    'GapiMonad.MonadCombinators.m ->
    'GapiMonad.MonadCombinators.m -> 'GapiMonad.MonadCombinators.m
  val fmap :
    ('-> 'b) ->
    'GapiMonad.MonadCombinators.m -> 'GapiMonad.MonadCombinators.m
  val sequence :
    'GapiMonad.MonadCombinators.m list ->
    'a list GapiMonad.MonadCombinators.m
  val sequence_ :
    'GapiMonad.MonadCombinators.m list -> unit GapiMonad.MonadCombinators.m
  val mapM :
    ('-> 'GapiMonad.MonadCombinators.m) ->
    'a list -> 'b list GapiMonad.MonadCombinators.m
  val mapM_ :
    ('-> 'GapiMonad.MonadCombinators.m) ->
    'a list -> unit GapiMonad.MonadCombinators.m
  val foldM :
    ('-> '-> 'GapiMonad.MonadCombinators.m) ->
    '-> 'b list -> 'GapiMonad.MonadCombinators.m
end