functor (Mon : BatInterfaces.Monad) ->
  sig
    type 'a m = 'a Mon.m
    val sequence :
      'a BatEnum.WithMonad.m BatEnum.t -> 'a BatEnum.t BatEnum.WithMonad.m
    val fold_monad :
      ('a -> 'b -> 'a BatEnum.WithMonad.m) ->
      'a -> 'b BatEnum.t -> 'a BatEnum.WithMonad.m
  end