Allows for interleaved case and rule definitions in the same macro.
Merge branch 'pr/428'