fn floor_char_boundary(s: &str, pos: usize) -> usize
Largest byte index <= pos that is a char boundary.