sig   type order = Lt | Eq | Gt   type 'a ord = 'a -> 'a -> BatOrd.order   type 'a comp = 'a -> 'a -> int   module type Comp = sig type t val compare : BatOrd.Comp.t BatOrd.comp end   module type Ord = sig type t val ord : BatOrd.Ord.t BatOrd.ord end   val ord0 : int -> BatOrd.order   val ord : 'a BatOrd.comp -> 'a BatOrd.ord   module Ord :     functor (Comp : Comp) -> sig type t = Comp.t val ord : t ord end   val comp0 : BatOrd.order -> int   val comp : 'a BatOrd.ord -> 'a BatOrd.comp   module Comp :     functor (Ord : Ord) -> sig type t = Ord.t val compare : t comp end   val poly_comp : 'a BatOrd.comp   val poly_ord : 'a BatOrd.ord   val poly : 'a BatOrd.ord   val rev_ord0 : BatOrd.order -> BatOrd.order   val rev_comp0 : int -> int   val rev_ord : 'a BatOrd.ord -> 'a BatOrd.ord   val rev_comp : 'a BatOrd.comp -> 'a BatOrd.comp   val rev : 'a BatOrd.ord -> 'a BatOrd.ord   module RevOrd :     functor (Ord : Ord) -> sig type t = Ord.t val ord : t ord end   module RevComp :     functor (Comp : Comp) -> sig type t = Comp.t val compare : t comp end   module Rev : functor (Ord : Ord) -> sig type t = Ord.t val ord : t ord end   type 'a eq = 'a -> 'a -> bool   val eq_ord0 : BatOrd.order -> bool   val eq_comp0 : int -> bool   val eq_ord : 'a BatOrd.ord -> 'a BatOrd.eq   val eq_comp : 'a BatOrd.comp -> 'a BatOrd.eq   val eq : 'a BatOrd.ord -> 'a BatOrd.eq   module type Eq = sig type t val eq : BatOrd.Eq.t BatOrd.eq end   module EqOrd : functor (Ord : Ord) -> sig type t = Ord.t val eq : t eq end   module EqComp :     functor (Comp : Comp) -> sig type t = Comp.t val eq : t eq end   module Eq : functor (Ord : Ord) -> sig type t = Ord.t val eq : t eq end   type 'a choice = 'a -> 'a -> 'a   val min_ord : 'a BatOrd.ord -> 'a BatOrd.choice   val max_ord : 'a BatOrd.ord -> 'a BatOrd.choice   val min_comp : 'a BatOrd.comp -> 'a BatOrd.choice   val max_comp : 'a BatOrd.comp -> 'a BatOrd.choice   val min : 'a BatOrd.ord -> 'a BatOrd.choice   val max : 'a BatOrd.ord -> 'a BatOrd.choice   val bin_comp :     'a BatOrd.comp -> 'a -> 'a -> 'b BatOrd.comp -> 'b -> 'b -> int   val bin_ord :     'a BatOrd.ord -> 'a -> 'a -> 'b BatOrd.ord -> 'b -> 'b -> BatOrd.order   val bin_eq : 'a BatOrd.eq -> 'a -> 'a -> 'b BatOrd.eq -> 'b -> 'b -> bool   val map_eq : ('a -> 'b) -> 'b BatOrd.eq -> 'a BatOrd.eq   val map_comp : ('a -> 'b) -> 'b BatOrd.comp -> 'a BatOrd.comp   val map_ord : ('a -> 'b) -> 'b BatOrd.ord -> 'a BatOrd.ord   module Incubator :     sig       val eq_by : ('a -> 'b) -> 'a BatOrd.eq       val comp_by : ('a -> 'b) -> 'a BatOrd.comp       val ord_by : ('a -> 'b) -> 'a BatOrd.ord     end end