```rust #![recursion_limit = "128"] trait Recur {} impl<T> Recur for T where (T, ()): Recur, ((), T): Recur, { } trait NotImplemented {} impl<T: NotImplemented> Recur for (T,) {} fn main() {} ``` hangs with `-Znext-solver=coherence` due to exponential blowup somewhere.