type t = int let make_maker () = let _id = ref ~-1 in fun () -> incr _id;!_id external to_int : t -> int = "%identity" external of_int : int -> t= "%identity"