Suppose you have a trait: ``` trait Foo: std::ops::Index<usize> + std::ops::Index<isize> {} ``` How do you declare a `Foo` trait object, say a `Box`? The `Output` associated types need to be specified but they need to be disambiguated between the two super traits. Projections that I’ve tried don’t seem to work but it’s possible I didn’t try the right incarnation. This stems from the https://users.rust-lang.org/t/how-to-specify-associated-types-with-same-name-in-generics/15677 post.