We should track when a predicate has a catch-all rule and when it loads a rule that is mut_excl via a pi-quatified variable.
Currently, if there is a catch all rule followed by the other kind, we detect the problem, but not vice versa.
The simplest fix would be to track the pi-quantified one and error when a catch-all is accumulated (since the other case is already ok).