module type Data = sig .. end
sig
end
include Datatype.S
type marshaled
val marshaler : (t -> marshaled) * (marshaled -> t)
(t -> marshaled) * (marshaled -> t)