Functor Type.Polymorphic2


module Polymorphic2: 
functor (D : sig
val name : 'a Type.t -> 'b Type.t -> string
val value_name : string
type ('a, 'b) t 
val repr : 'a -> 'b -> ('a, 'b) t
val pp : (Type.precedence -> Format.formatter -> 'a -> unit) ->
(Type.precedence -> Format.formatter -> 'b -> unit) ->
Type.precedence -> Format.formatter -> ('a, 'b) t -> unit
end) -> POLYMORPHIC2 with type ('a, 'b) poly = ('a, 'b) D.t
Parameters:
D : sig val name: 'a t -> 'b t -> string val value_name: string type ('a, 'b) t val repr: 'a -> 'b -> ('a, 'b) t val pp: (precedence -> Format.formatter -> 'a -> unit) -> (precedence -> Format.formatter -> 'b -> unit) -> precedence -> Format.formatter -> ('a,'b) t -> unit end

type ('a, 'b) poly 
val instantiate : 'a Type.t -> 'b Type.t -> ('a, 'b) poly Type.t
val is_instance_of : 'a Type.t -> bool
val get_instance : ('a, 'b) poly Type.t -> 'a Type.t * 'b Type.t