sig
  type t
  val fresh : unit -> Mark.t
  val same : Mark.t -> Mark.t -> bool
  val none : Mark.t
end