1
2
3
4
5
6
7
8
9
10
11
12
13
module Pmark = struct
type t = int
let equal (x : int) (y : int) = x = y
let compare (x : int) (y : int) = compare x y
let r = ref 0
let gen () = incr r ; !r
let pp = Format.pp_print_int
end
include Pmark
module Set = Set.Make(Pmark)