Fix a few bugs

Root state wasn’t properly being handled
Duplicate transitions with predicates were still disallowed