sig
type pos = int * int
val nil_pos : Carcass.Loc.pos
val zero_pos : Carcass.Loc.pos
type range = Carcass.Loc.pos * Carcass.Loc.pos
val nil_range : Carcass.Loc.range
val zero_range : Carcass.Loc.range
type src = Builtin | Cli | File of Fpath.t
type t = Carcass.Loc.src * Carcass.Loc.range
val nil : Carcass.Loc.t
val for_builtin : string -> Carcass.Loc.t
val for_cli : string -> Carcass.Loc.t
val for_path : ?range:Carcass.Loc.range -> Fpath.t -> Carcass.Loc.t
val pp : Carcass.Loc.t Fmt.t
type trace = Carcass.Loc.t list
val nil_trace : Carcass.Loc.trace
val pp_trace : Carcass.Loc.trace Fmt.t
end