sig
  type t
  val create_exact : unit -> Location.P.t
  val create_inexact : unit -> Location.P.t
  val string_of : Location.P.t -> string
  val get_location : Location.P.t -> Location.Loc.t
  val is_precise : Location.P.t -> bool
  val reset : unit -> unit
end