if you use a single `T` for all pins you don't have this problem: ```rust struct Bus { foo: T, bar: Option, } let bus = Bus::new(some_pin, None); ```