cooltt
cooltt copied to clipboard
Patterns on types: operations to dissect a composite type
We should have something like
type 'a pattern
val match_tp : D.tp -> 'a pattern -> 'a m
An example would be something like:
let* base, fam = match_tp tp PatPi in
...
A priori these would just behave like ordinary pattern matching, but we would eventually be able to support doing things like going under splits for "stable" patterns.