Thoughts
They've broken me. The Zig programmers have won. I'm hysterical. I meant to go to bed an hour ago.
Just make the functions inline, that will really improve your performance in debug mode. Have you considered `@branchWeight`? With less weighting on the uncommon case of lowercasing letters (most characters will pass through `toLower` unchanged), you may be able to get even better performance. What about inline assembly? Honestly you should just use inline assembly in order to ensure that all optimizations are performed even in debug mode. It's not like the optimal code to lowercase ASCII letters is going to change.
Its guaranteed that it doesn't overflow, unless there's a bug. So I agree that most of the time you don't need to worry about integer overflow but it would be nice if there was a mode that you could put the program in in order to indicate that you were attempting to ensure that the program didn't have any bugs, where the compiler could insert runtime safety checks. Call it like debug mode or something.
You clearly don't want runtime safety because you generated code in the mode that gives you runtime safety checks and then complained that there were runtime safety checks.
Congrats on your one instruction saved. I hope no one ever has to read the source code of these functions again.