Fix Scope against superclasses, recursive scopes; add tests