The functions for reading or writing large numbers of registers, like Adafruit_BusIO_Register::read are using uint8_t as their length parameters, even though the underlying read and write functions in both I2C and SPI are using size_t. There may be some devices where it is desirable to read more than 255 bytes in one operation. For example, the LSM6 series of accelerometer+gyro sensors can output as much as 4KB of data from their FIFO registers.