Eu recebi a seguinte pergunta em um teste:
Escreva uma função
fcom o seguinte tipoa -> b -> (a -> b).aebnão deve ser vinculado em nenhum sentido, quanto menor o código, melhor.
Eu inventei f a b = \x -> snd ([a,x],b). Você consegue encontrar algo menor?
Atualmente o vencedor é: f _=(.f).const
f _ b _ = b, mas, dada a solução na pergunta, suspeito que um tipo mais geral não seja permitido.
f = id?
f = fé uma solução, então acho que as condições no tipo são muito importantes!
f = const const.