Scopebuilding

I think this does everything it needs to do, but let me know if I overlooked something.
This might be clearer as
```java
assert(expr instanceof VariableAssignmentExpression);
VariableAssignmentExpression assign = (VariableAssignmentExpression) expr;
```
if there's going to be only one option.