Basic AST

Yes -- we can add that if we decide to implement user-defined constructors on top of the existing language specification. Keep it simple for the beginning :)