I'd factor out `type()` and `parameterCount()`, mostly to save a few method dispatches. It's not a big deal, but would be nice.