functor (A : S) (B : S) (C : S) -> sig type t = A.t * B.t * C.t val jtype : Package.jtype val of_json : json -> t val to_json : t -> json end