code: Rule Element() {
  		return FirstOf(Tuplet(), SlurBegin(), SlurEnd(),
  			WSPS().label(Space), ChordOrText(),
  			NthRepeat(), EndNthRepeat(),
  			Barline(), Gracing(), BrokenRhythm(),
  			//.| = dashed barline, no staccato barline
  			//+>+ = Gracing, > = BrokenRhythm
  			//!fermata! before f, e and a parsed into notes
  			Stem(), Rest(), 
  			GraceNotes(), MultiMeasureRest(), MeasureRepeat(),
  			Rollback(), InlineField(), UnusedChar()
  		).label(Element);
  	}
docs: element ::= stem / WSP / chord-or-text / gracing / grace-notes /
  broken-rhythm / tuplet / slur-begin / slur-end / rollback / multi-measure-rest
  / measure-repeat / nth-repeat / end-nth-repeat / inline-field / unused-char