definition module check
+from StdOverloaded import class toString
from Data.Either import :: Either
-from ast import :: Function, :: Expression, :: Type
+from ast import :: Function, :: Expression
+:: Scheme = Forall [[Char]] Type
+:: Type
+ = TVar [Char]
+ | TInt
+ | TBool
+ | TFun Type Type
+instance toString Scheme, Type
check :: [Function] -> Either [String] Expression