More complex erasure is blocked on the ability to refer to types present at definition site of a trait This is blocked on the new declarative macro system: [#39412](https://github.com/rust-lang/rust/issues/39412)