sig   type key   type value   type rangemap   type t = rangemap   val ty : t Type.t   val name : string   val descr : t Descr.t   val packed_descr : Structural_descr.pack   val reprs : t list   val equal : t -> t -> bool   val compare : t -> t -> int   val hash : t -> int   val pretty_code : Format.formatter -> t -> unit   val internal_pretty_code : Type.precedence -> Format.formatter -> t -> unit   val pretty : Format.formatter -> t -> unit   val varname : t -> string   val mem_project : (Project_skeleton.t -> bool) -> t -> bool   val copy : t -> t   val create : t -> Rangemap.S.key -> Rangemap.S.value -> t -> t   val empty : t   val is_empty : t -> bool   val add : Rangemap.S.key -> Rangemap.S.value -> t -> t   val singleton : Rangemap.S.key -> Rangemap.S.value -> t   val find : Rangemap.S.key -> t -> Rangemap.S.value   val remove : Rangemap.S.key -> t -> t   val mem : Rangemap.S.key -> t -> bool   val iter : (Rangemap.S.key -> Rangemap.S.value -> unit) -> t -> unit   val map : (Rangemap.S.value -> Rangemap.S.value) -> t -> t   val mapi :     (Rangemap.S.key -> Rangemap.S.value -> Rangemap.S.value) -> t -> t   val mapii :     (Rangemap.S.key -> Rangemap.S.value -> Rangemap.S.key * Rangemap.S.value) ->     t -> t   val fold :     (Rangemap.S.key -> Rangemap.S.value -> '-> 'a) -> t -> '-> 'a   val for_all : (Rangemap.S.key -> Rangemap.S.value -> bool) -> t -> bool   val exists : (Rangemap.S.key -> Rangemap.S.value -> bool) -> t -> bool   val filter : (Rangemap.S.key -> Rangemap.S.value -> bool) -> t -> t   val partition : (Rangemap.S.key -> Rangemap.S.value -> bool) -> t -> t * t   val cardinal : t -> int   val bindings : t -> (Rangemap.S.key * Rangemap.S.value) list   val min_binding : t -> Rangemap.S.key * Rangemap.S.value   val max_binding : t -> Rangemap.S.key * Rangemap.S.value   val choose : t -> Rangemap.S.key * Rangemap.S.value   val merge :     (Rangemap.S.key ->      Rangemap.S.value option ->      Rangemap.S.value option -> Rangemap.S.value option) ->     t -> t -> t   val for_all2 :     (Rangemap.S.key ->      Rangemap.S.value option -> Rangemap.S.value option -> bool) ->     t -> t -> bool   val exists2 :     (Rangemap.S.key ->      Rangemap.S.value option -> Rangemap.S.value option -> bool) ->     t -> t -> bool   val iter2 :     (Rangemap.S.key ->      Rangemap.S.value option -> Rangemap.S.value option -> unit) ->     t -> t -> unit   val fold2 :     (Rangemap.S.key ->      Rangemap.S.value option -> Rangemap.S.value option -> '-> 'a) ->     t -> t -> '-> 'a end