Added macro for the restructure returns using the stack.
Make sure nodes are upcast to their base type before being downcast.
Assigns need to call their Expression childAccept function when visited.