Patterntype patvar = Names.Id.tCases pattern variables
type case_info_pattern = {| cip_style : Constr.case_style; | |
| cip_ind : Names.inductive option; | |
| cip_extensible : bool; | (* does this match end with _ => _ ?*) | 
}type 'i uninstantiated_pattern = | | PGenarg : Genarg.glob_generic_argument -> [ `uninstantiated ] uninstantiated_pattern | 
type 'i constr_pattern_r = type constr_pattern = [ `any ] constr_pattern_rNota : in a PCase, the array of branches might be shorter than expected, denoting the use of a final "_ => _" branch