include ListMonad
include Monad with type 'a t = 'a list
val bind : 'a t -> ( 'a -> 'b t ) -> 'b t
val mplus : 'a t -> 'a t -> 'a t
val guard : bool -> unit t
include MonadCombinators with type 'a m = 'a t
module Infix : sig ... end
val join : 'a m m -> 'a m
val liftM : ( 'a -> 'b ) -> 'a m -> 'b m
val liftM2 : ( 'a -> 'b -> 'c m ) -> 'a m -> 'b m -> 'c m
val fmap : ( 'a -> 'b ) -> 'a m -> 'b m
val sequence : 'a m list -> 'a list m
val sequence_ : 'a m list -> unit m
val mapM : ( 'a -> 'b m ) -> 'a list -> 'b list m
val mapM_ : ( 'a -> 'b m ) -> 'a list -> unit m
val foldM : ( 'a -> 'b -> 'a m ) -> 'a -> 'b list -> 'a m