ungetypt:
let { t = \ f x -> f (f x)
; s = \ x -> x + 1
} in (t t s) 0
einfach getypt nur so möglich:
let { t2 = \ (f :: (Int -> Int) -> (Int -> Int))
(x :: Int -> Int) -> f (f x)
; t1 = \ (f :: Int -> Int) (x :: Int) -> f (f x)
; s = \ (x :: Int) -> x + 1
} in (t2 t1 s) 0
wie besser?