Module Model.D

module D: Datatype.Make_with_collections(sig
type t = Model.model 
val name : string
val rehash : 'a -> 'a
val structural_descr : Structural_descr.t
TODO: register and find below?
val reprs : Model.model list
val equal : Model.model -> Model.model -> bool
val compare : Model.model -> Model.model -> int
val hash : Model.model -> int
val copy : 'a -> 'a
val internal_pretty_code : 'a -> Format.formatter -> Model.model -> unit
val pretty : Format.formatter -> Model.model -> unit
val mem_project : (Project_skeleton.t -> bool) -> 'a -> bool
val varname : 'a -> string
end)

include Datatype.S
module Set: Datatype.Set  with type elt = t
module Map: Datatype.Map  with type key = t
module Hashtbl: Datatype.Hashtbl  with type key = t