IRC commands are distinct types

Turns out, you need actual pattern matching to use these types. Ah,
well.