fn resolve_symbol_in_scopes<'a>(
    scopes: impl Iterator<Item = &'a Scope>,
    identifier: &str,
) -> Option<&'a Value> {
    for scope in scopes {
        if let Some(value) = scope.get(identifier) {
            return Some(value);
        }
    }
    None
}
// `scopes` from most specific to least specific
`scopes` from most specific to least specific
` scopes ` from most specific to least specific
fn resolve_symbol_in_scopes<'a>(
    scopes: impl Iterator<Item = &'a Scope>,
    identifier: &str,
) -> Option<&'a Value> {
    for scope in scopes {
        if let Some(value) = scope.get(identifier) {
            return Some(value);
        }
    }
    None
}
fn resolve_symbol_in_scopes < ' a > ( scopes : impl Iterator < Item = & ' a Scope > , identifier : & str , ) -> Option < & ' a Value > { for scope in scopes { if let Some ( value ) = scope . get ( identifier ) { return Some ( value ) ; } } None }
`scopes` from most specific to least specific
` scopes ` from most specific to least specific
scopes
impl Iterator<Item = &'a Scope>
identifier
&str