abstract lambda = { fun f1 : Int -> Int ; def f1 = (\x -> x) ; fun f2 : Int ; def f2 = f1 1 ; cat D ; data D1 : D ; D2 : D ; fun d : D -> Int -> Int ; def d D1 = \x -> x ; d D2 = \x -> 2 ; }