Does anyone know why i2c write_reads on `f4xx-hal` and `h7xx-hal` use this logic for sadd: ```rust w.sadd().bits(u16(addr << 1 | 1)) ``` when doing the read part of a write-read, and `(addr << 1 | 0)` when not?