Again, I think some of the bugs would be solved by setting the first note in
the span to the previous dynamic level or barring that to a default dynamic
level and conceptually considering the dynamic change to fall between the
notes rather than on the notes. Perhaps extending the last dynamic change
past the last note in the tuple. Sort of offsetting the dynamic changes by a
half of a note.