type t = | | Pident of Ident.t | 
| | Pdot of t * string | 
| | Papply of t * t | 
val same : t -> t -> boolval compare : t -> t -> intval exists_free : Ident.t list -> t -> boolval flatten : t -> [ `Contains_apply | `Ok of Ident.t * string list ]val name : ?paren:(string -> bool) -> t -> stringval is_uident : string -> booltype 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 -> bool