Implement expansion of expressions
Implement a more powerful hoister