Hello, `fn fun(p: impl Fn(i32)) {}` compiles. But: `fn fun(p: impl Fn(i32) -> impl Fn(i32)){}` doesn't. Is it intentional ? Thank you in advance for your answers.