module Id = struct type t = int let of_int x = assert (x>0); x let to_int x = x let of_string x = int_of_string x |> of_int let to_string x = string_of_int x let increment x = x + 1 let decrement x = x - 1 let compare = compare end module Task = struct include Id end module Client = struct include Id end