sig   type namespace = Sort | Term | Attr | Decl | Module of string   type t = { ns : Id.namespace; name : string; }   val sort : namespace   val term : namespace   val attr : namespace   val decl : namespace   val mod_name : string -> namespace   val hash : Id.t -> int   val equal : Id.t -> Id.t -> bool   val compare : Id.t -> Id.t -> int   val mk : Id.namespace -> string -> Id.t   val full_name : Id.t -> string   val pp : Buffer.t -> Id.t -> unit   val print : Format.formatter -> Id.t -> unit end