refactor: main AST refactor
feat(references): add suppor for reference expresions