Constructing entire AST, then running the static checks. Completely removed Checker from Parser. Now code is more modular.
Merge successfull between declaration list foldl and rest of changes