.;.|- ((/\a /\b \x:a \f:a->b f x) [int] [int] 3) (\y:int y+y) : int .;. |- (\y:int y+y) : int->int .;y:int |- y+y : int .;y:int |- y:int .;y:int |- y:int .;. |- (/\a /\b \x:a \f:a->b f x) [int] [int]) 3 : (int->int)->int .;. |- 3 : int .;. |- (/\a /\b \x:a \f:a->b f x) [int]) [int] : int -> ((int->int)->int) . |- int .;. |- (/\a /\b \x:a \f:a->b f x) [int]) : Vb.(int ->(int->b)->b) . |- int .;. |- /\a /\b \x:a \f:a->b f x : VaVb(a -> (a->b)->b) a;. |- /\b \x:a \f:a->b f x : Vb (a -> (a->b) -> b) a,b;. |- \x:a \f:a->b f x : (a -> (a->b) -> b) a,b |- a a,b;x:a |- \f:a->b f x : (a->b) -> b a,b |- a -> b a,b;x:a,f:a->b |- f x : b a,b;x:a,f:a->b |- f : a->b a,b;x:a,f:a->b |- x : a