Remove measureFunction and use Arity type instead.
Special case for unconditional rules.
Collect split rules by substitution.