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
functor (
T1
:
Datatype.S
) ->
T2
T3
T4
with type t = (T1.t, T2.t, T3.t, T4.t) poly
include Datatype.S_no_copy
val copy : Datatype.t -> Datatype.t
Datatype.t -> Datatype.t
Deep copy: no possible sharing between x and copy x.
x
copy x