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