code: Rule Note() {
  		return Sequence(Pitch(),
  				OptionalS(NoteLength()),
  				OptionalS(SequenceS(
  					//not usual but found sometimes
  					OptionalS(WSPS()), Tie()
  				))
  		).label(_Note);
  	}
docs: note ::= pitch [note-length] [tie]