`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`