f2 ( \ x -> x ) 0 für
f2 ( \ x -> x ) 0
f2 g x = length $ g [g x]
geht (nur) so:
f2 :: (forall a. a->a) -> Int -> Int
das ist nicht das gleiche wie:
f1 :: forall a . (a->a) -> Int -> Int f1 g x = length $ g [g x]