For what it's worth, toAsciiLowercase is only slow in the rare case where the input isn't already lowercase