sig
  val structural_descr : Structural_descr.t
  val equal : 'a -> 'a -> bool
  val compare : 'a -> 'a -> int
  val hash : 'a -> int
  val rehash : 'a -> 'a
  val copy : 'a -> 'a
  val internal_pretty_code :
    Type.precedence -> Format.formatter -> 'a -> unit
  val pretty : Format.formatter -> 'a -> unit
  val varname : 'a -> string
  val mem_project : (Project_skeleton.t -> bool) -> 'a -> bool
end