``` tag maybe_ordered_pair { yes({low: int, high: int} : less_than(*.low, *.high)); no; } pure fn less_than(x: int, y: int) -> bool { ret x < y; } fn main() { } ``` upcall fail 'non-exhaustive match failure', ../src/comp/middle/ty.rs:671 I guess the alt in fold_ty is missing ty_constr