I used only tree structure in this case because we can process untypecheck trees that have uninitialized symbols