Keep protocol and datatype stuff in separate namespaces
Midi Note examples from 'Records' section of 'Programming Clojure' chapter 6