This currently fails due to codegen issues with the wrapper enum: ```Rust trait Generic<T> {} #[protocol] trait Test { type B; type A: Generic<Self::B>; } ```