Allow underscore in identifiers
Fix indent
Switch order of matching in PatternElement
Match word boundaries after keywords