Update5

Final sketch
This one removes the HasPitch (now HasGetPitch) constraint from HasSetPitch

I.e. some types can define pitch *setters* but not *getters*, which allow us to use
things like `(up m3 $ asScore c)`

See #125