Why `i8` rather than `u8`? It seems like `u8` is more appropriate for storing plain bits?