:: Pos = {line :: Int, col :: Int}
:: AST = AST [FunDecl]
:: VarDecl = VarDecl Pos (Maybe Type) String Expr
+:: TVar :== String
:: Type
= TupleType (Type, Type)
| ListType Type
- | IdType String
+ | IdType TVar
| IntType
| BoolType
| CharType
instance == Op2
instance < Op1
instance < Op2
+instance == Type