Basic AST

I think it's orthogonal ... but I guess we can wait and see.