from ast import :: Function, :: Expression
:: Scheme = Forall [[Char]] Type
-:: Type
- = TVar [Char]
- | TInt
- | TBool
- | TFun Type Type
+:: Type = TVar [Char] | TInt | TBool | TFun Type Type
+
instance toString Scheme, Type
-check :: [Function] -> Either [String] Expression
+
+check :: [Function] -> Either [String] (Expression, Scheme)