To work around this either use `unsafe { byte.to_ascii_nocheck() }` (which works as you use `to_byte()` soon after, but still violates `Ascii`’s invariant), or duplicate `std::ascii::ASCII_LOWER_MAP` which maybe should be public.