like if you have: ```rust fn demo<T>(bus: &mut Bus<T>) { bus.pin.set_low(); // won't work! } ``` you'd instead need: ```rust fn demo<T: OutputPin>(bus: &mut Bus<T>) { bus.pin.set_low(); // will work! } ```