sig
  type 'a t = '-> '-> int
  val compare : 'CCOrd.t
  val opp : 'CCOrd.t -> 'CCOrd.t
  val equiv : int -> int -> bool
  val int : int CCOrd.t
  val string : string CCOrd.t
  val bool : bool CCOrd.t
  val float : float CCOrd.t
  val ( <?> ) : int -> 'CCOrd.t * 'a * '-> int
  val option : 'CCOrd.t -> 'a option CCOrd.t
  val pair : 'CCOrd.t -> 'CCOrd.t -> ('a * 'b) CCOrd.t
  val triple :
    'CCOrd.t -> 'CCOrd.t -> 'CCOrd.t -> ('a * 'b * 'c) CCOrd.t
  val list : 'CCOrd.t -> 'a list CCOrd.t
  val array : 'CCOrd.t -> 'a array CCOrd.t
  val map : ('-> 'b) -> 'CCOrd.t -> 'CCOrd.t
  val ( >|= ) : 'CCOrd.t -> ('-> 'b) -> 'CCOrd.t
  module Infix :
    sig
      val ( <?> ) : int -> 'CCOrd.t * 'a * '-> int
      val ( >|= ) : 'CCOrd.t -> ('-> 'b) -> 'CCOrd.t
    end
end