lazy compile
more APIs - boolean toggle for whitespace etc, range takes in tuples and reluctant/possessive qualifiers
typed modifiers