sig   type id = Fpath.t   val find : Carcass.Env.t -> Carcass.Body.id -> Fpath.t option   val list : ?hidden:bool -> Carcass.Env.t -> Fpath.t Fpath.map   type binding_id = Fpath.t   type t   val id : Carcass.Body.t -> Carcass.Body.id   val doc : Carcass.Body.t -> string * string   val var_docs : Carcass.Body.t -> string Astring.String.map   val bindings :     Carcass.Body.t ->     (Carcass.Pat.t * (Carcass.Body.binding_id * Carcass.Loc.t)) list   val of_input :     src:Carcass.Loc.src ->     [ `Channel of Pervasives.in_channel | `String of string ] ->     Carcass.Body.id ->     (Carcass.Body.t, [> Carcass.Error.parse ]) Result.result   val of_path :     Fpath.t ->     Carcass.Body.id ->     (Carcass.Body.t,      [> `Carcass_parse of Carcass.Error.parse_err * Carcass.Loc.t       | `Msg of string ])     Rresult.result   val eval_paths :     Carcass.Env.t ->     Carcass.Pat.env ->     Carcass.Body.t ->     ((Carcass.Bone.id * Carcass.Loc.trace) Fpath.map,      [> `Carcass_eval of Carcass.Error.eval_err * Carcass.Loc.trace       | `Msg of string ])     Rresult.result   val eval_bones :     Carcass.Env.t ->     Carcass.Pat.env ->     (Carcass.Bone.id * Carcass.Loc.trace) Fpath.map ->     ((string * bool) Fpath.map,      [> `Carcass_eval of Carcass.Error.eval_err * Carcass.Loc.trace       | `Msg of string ])     Rresult.result   val write :     ?wrote:(Fpath.t -> unit) ->     ?over:(Fpath.t -> bool) ->     dst:Fpath.t ->     (string * bool) Fpath.map -> (unit, [> Rresult.R.msg ]) Rresult.result end