EDIT: I fixed a little glitch where I said there wasn’t syntax to do something in Rust where there obviously is. I am aware of that syntax, although it doesn’t really apply in my original example, just in the simplified, minimal version I present here. Perhaps it’s possible to build a different work-around through that syntax, but it would be equally annoying. It doesn’t really affect my main point, which is that there is a limitation in the Rust trait resolver that’s somewhere in the space of a bug, that’s mostly annoying in that it’s hard to figure out what’s going on.