type +'a t = private int val nil : 'a t val null : 'a t val is_nil : 'a t -> bool val print : Format.formatter -> 'a t -> unit val compare : 'a t -> 'a t -> int val equal : 'a t -> 'a t -> bool val hash : 'a t -> int external to_int : 'a t -> int = "%identity" external of_int : int -> 'a t = "%identity"