Hi, I'm having a problem naming a generic in my code. I have this struct to represent a driver: ``` pub struct Aw9523b { i2c: I2C, addr: u8, } ``` and I have methods that return errors that are generic: ``` impl Aw9523b where I2C: embedded_hal_async::i2c::I2c + embedded_hal::i2c::ErrorType, { pub async fn software_reset(&mut self) -> Result<(), Error> { self.write_register(Register::SwRstn, 0x00).await } } ```