Patterns.Head
type desc =
| Any
| Construct of Types.constructor_description
| Constant of Asttypes.constant
| Tuple of int
| Record of Types.label_description list
| Variant of {
tag : Asttypes.label;
has_arg : bool;
cstr_row : Types.row_desc ref;
type_row : unit -> Types.row_desc;
}
| Array of int
| Lazy
type t = desc Typedtree.pattern_data
val arity : t -> int
val deconstruct : Simple.pattern -> t * Typedtree.pattern list
deconstruct p
returns the head of p
and the list of sub patterns.
val to_omega_pattern : t -> Typedtree.pattern
reconstructs a pattern, putting wildcards as sub-patterns.
val omega : t