Scopebuilding

I think this does everything it needs to do, but let me know if I overlooked something.
Eventually, we'll have to recursively look for `VariableAssignmentExpressions` contained within other solutions, such as `a = b = 5`, but for now this is good :+1: