Fix character ranges starting at '\0'

Also fix type stability issue in UnitRange constructor for small types