functor (P : Poly.ArbitraryComparable->
  functor (M : ArbitraryComparable->
    sig
      type t = M.t P.t
      val gen :
        ?size:int ->
        Random.State.t -> Reins.Types.Mono.ComposeGenComparable.t
      val to_string : Reins.Types.Mono.ComposeGenComparable.t -> string
      val compare :
        Reins.Types.Mono.ComposeGenComparable.t ->
        Reins.Types.Mono.ComposeGenComparable.t -> int
    end