More documentation in src

A lot a documentation, especially in the AST
types*