Module Lang.F.DATA

module DATA: Datatype.Make(sig
type t = Lang.F.T.state 
val name : string
val rehash : 'a -> 'a
val structural_descr : Structural_descr.t
val reprs : Lang.F.T.state list
val equal : 'a -> 'b
val compare : 'a -> 'b
val hash : 'a -> 'b
val copy : 'a -> Lang.F.T.state
val varname : 'a -> 'b
val pretty : 'a -> 'b
val internal_pretty_code : 'a -> 'b
val mem_project : 'a -> 'b -> bool
end)

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