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