`sig
module type Mappable =
sig
type 'a mappable
val map :
('a -> 'b) ->
'a BatInterfaces.Mappable.mappable ->
'b BatInterfaces.Mappable.mappable
end
module type OrderedType =
sig
type t
val compare :
BatInterfaces.OrderedType.t -> BatInterfaces.OrderedType.t -> int
end
module type Monad =
sig
type 'a m
val bind :
'a BatInterfaces.Monad.m ->
('a -> 'b BatInterfaces.Monad.m) -> 'b BatInterfaces.Monad.m
val return : 'a -> 'a BatInterfaces.Monad.m
end
end`