to get methods from alias bounds ```rust fn foo<T: Clone>(x: T, choose: bool) -> impl Clone { if choose { foo(x, false).clone() } else { x } } ``` https://rust.godbolt.org/z/vecjoaYzK People rely on this behavior, see https://github.com/rust-lang/rust/issues/117866, or more specifically, the crater run in https://github.com/rust-lang/rust/pull/120798#issuecomment-1938414794