It's done with similar constructions where possible trying to preserve intended behavior. Some usages are removed because they test exactly the feature that we are going to drop soon.
for collecting variable data for pseudocode removed using data from outer context for local declarations for 'variable initializers' analysis