Basic AST

Yes, `typ` might be a good idea ... as long as we don't do

```
def `type`: String = ???
```

:-)