Something (unrelated) that surprised me here is that the author has two decades of posts on this blog, leading back to their first post about a new version of C# (https://codeblog.jonskeet.uk/2005/09/)
Personally as a younger software guy I had no idea that C# had type inference back in 2005- an interesting perspective shift!
From the article: "Option 3: Embrace the leakiness"
As someone who wrote more abstractions than he cared for in the very similar domain of media technology, I thinkbthis is the right approach. In an ideal world the mixer abstraction shouldn't care about the type of hardware, but that kindnof media tech is far from creating an ideal world.
Personally as a younger software guy I had no idea that C# had type inference back in 2005- an interesting perspective shift!