code: Rule Stem() {
  		return FirstOf(
  				Note(),
  				Sequence(String("["),
  						Note(),
  						//some bogus file have [CE][A]
  						//for one MultiNote C-E and one
  						//note A.
  						ZeroOrMoreS(Note()),
  						String("]"),
  						OptionalS(NoteLength()),
  						OptionalS(Tie())).label(_MultiNote)
  		).label(Stem);
  	}
docs: stem ::= note / ( "[" 2*note "]" )