I noticed that the Parse[U]Int* functions are written in a very convoluted way (deferring to strto[u][l]l, and having checks for weird characters to avoid locale-dependent behaviour, and range checking due to type mismatch). This PR changes them to instead just use a simple native int parser. This should be simpler to review for correctness. It's likely faster too, though that's not a goal.
No worries if people don't feel like touching this code.