Functor Datatype.Polymorphic4.Make

module Make: 
functor (T1 : Datatype.S) ->
functor (T2 : Datatype.S) ->
functor (T3 : Datatype.S) ->
functor (T4 : Datatype.S) -> Datatype.S with type t = (T1.t, T2.t, T3.t, T4.t) poly
Parameters:
T1 : Datatype.S
T2 : Datatype.S
T3 : Datatype.S
T4 : Datatype.S

include Datatype.S_no_copy
val copy : Datatype.t -> Datatype.t
Deep copy: no possible sharing between x and copy x.