> Actually, scat and pcat used to be called melody and chord back in the days, but I figured out that these are names that you actually want to use in your own code.
I would have preferred to see `melody` and `chord` over s/pcat because that's what they're doing. The whole point of a declarative DSL like this is to be descriptive. When I first saw `scat` I wondered if it was a shorthand for `staccato`, or perhaps even a reference to scat singing? On the other hand, not only are `melody` and `chord` very obvious, but they are also general enough that they are rather unlikely to be used as variable names, except perhaps as one-offs.