```rust #[derive(Clone)] enum A<T> { A1(B<T>), A2(B<Option<T>>), } #[derive(Clone)] enum B<T> { B1(T), B2(Box<A<B<T>>>), } fn main() {} ``` The following fails to halt or emit any warnings or errors.