Basic AST

It will be needed in the type-checker, although I can remove it for now.