couldn't we be stricter here and use `uint8_t`?