code: Rule Mixolydian() {
  		return Sequence(IgnoreCase("mix"),
  			Optional(Sequence(IgnoreCase("o"),
  				Optional(Sequence(IgnoreCase("l"),
  					Optional(Sequence(IgnoreCase("y"),
  						Optional(Sequence(IgnoreCase("d"),
  							Optional(Sequence(IgnoreCase("i"),
  								Optional(Sequence(IgnoreCase("a"),
  									Optional(IgnoreCase("n"))
  								))
  							))
  						))
  					))
  				))
  			))
  		).label(Mixolydian).suppressSubnodes();
  	}
docs: major with flat 7th
  
  mixolydian ::= "mix" ["o" ["l" ["y" ["d" ["i" ["a" ["n"]]]]]]]