rewriting ast compiler to work on unlowered ast
new compiler passing more tests