include module type of struct include Compiler_import.Path end
type t = Path.t = | Pident of Ident.t| Pdot of t * string| Papply of t * t
val same : t -> t -> boolval compare : t -> t -> intval find_free_opt : Ident.t list -> t -> Ident.t optionval exists_free : Ident.t list -> t -> boolval flatten : t -> [ `Contains_apply | `Ok of Ident.t * string list ]val name : ?paren:(string -> bool) -> t -> stringval heads : t -> Ident.t listtype typath = Path.typath = | Regular of t| Ext of t * string| LocalExt of Ident.t| Cstr of t * string
val constructor_typath : t -> typathval is_constructor_typath : t -> boolval drop : t -> t -> Compiler_import.Longident.t optionval to_longident : t -> Compiler_import.Longident.tval dest_ident : t -> Compiler_import.Ident.tval dest_dot : t -> t * stringval dest_apply : t -> t * tval dot_map : ?hd:(t -> t) -> ?tl:(string -> string) -> t -> tval all_prefixes : ?self:bool -> t -> t list