Working mainly on improving error messages
I made it so that matching multiple rules isn't an error

This seems to be useful with recursive rules.  The semantics now are first match wins.