IntervalNum -> NoteNum, and made it more general to extend to note arithmetic."
Avoid name clash with Interval.semitone.
Refactored: replaced semitoneDistance with (note .- note).