module V1 : functor (Binable : S3) -> functor (M : sig ... end) -> S3 with type (a, b, c) t := (a, b, c) M.t