functor (A : ArbitraryComparable->
  functor (B : ArbitraryComparable->
    sig
      type 'a t = 'B.t A.t
      val gen :
        (?size:int -> Random.State.t -> 'a) ->
        ?size:int ->
        Random.State.t -> 'Reins.Types.Poly.ComposeGenComparable.t
      val to_string :
        ('-> string) ->
        'Reins.Types.Poly.ComposeGenComparable.t -> string
      val compare :
        ('-> '-> int) ->
        'Reins.Types.Poly.ComposeGenComparable.t ->
        'Reins.Types.Poly.ComposeGenComparable.t -> int
    end