> So now you'd have to keep hold of your driver object and pass it a spi bus every time you want to use it. It simply doesn't scale well. Sounds like exactly how I'd expect it to work tbh :D > It also doesn't work with drivers that implement other traits. Say I implement a tcp trait on an Ethernet driver. That trait doesn't know anything about spi and doesn't have an interface that allows you to pass it. So it also doesn't compose well Aha. Now that does make more sense