Buenas,
En el ejercico habia que marcar la no correcta. Entiendo porque la opcion que marcan en las soluciones es no correcta.
Pero no entiendo porque consideran esta opcion correcta: El tipo mas general de foo es foo :: (a -> a) -> (a -> a)
En el parcial lo razone como que el tipo mas general de foo es foo :: (a -> a) -> a -> a
Y efectivamente definiendola y pidiendo el tipo mas general de foo en el compilador devuelve esa firma. Adjunto imagen con esto mismo.
Saludos