3 from Data.Either import :: Either
4 from StdOverloaded import class toString
6 :: AST = AST [Function]
8 :: Function = Function [Char] [[Char]] Expression
13 | App Expression Expression
14 | Lambda [Char] Expression
15 | Builtin [Char] [Expression]
16 | Let [Char] Expression
21 | Func Int [Expression] ([Expression] -> Expression)
29 instance toString AST, Function, Expression, Value, Type