anchor.diff:        DynamicUse dynamicUse, MemberUsedCallback memberUsed) {
       Selector selector = dynamicUse.selector;
       String methodName = selector.name;
  +
  +    void _process(Map<String, Set<_MemberUsage>> memberMap,
  +        EnumSet<MemberUse> action(_MemberUsage usage)) {
  +      _processSet(memberMap, methodName, (_MemberUsage usage) {
  +        if (dynamicUse.appliesUnnamed(usage.entity, this)) {
  +          memberUsed(usage.entity, action(usage));
  +          return true;
  +        }
  +        return false;
  +      });
  +    }
  +
       switch (dynamicUse.kind) {
         case DynamicUseKind.INVOKE:
           if (_registerNewSelector(dynamicUse, _invokedNames)) {
  -          _processInstanceMembers(methodName, (_MemberUsage usage) {
  -            if (dynamicUse.appliesUnnamed(usage.entity, this)) {
  -              memberUsed(usage.entity, usage.invoke());
  -              return true;
  -            }
  -            return false;
  -          });
  +          _process(_instanceMembersByName, (m) => m.invoke());
           }
           break;
         case DynamicUseKind.GET:
           if (_registerNewSelector(dynamicUse, _invokedGetters)) {
  -          _processInstanceMembers(methodName, (_MemberUsage usage) {
  -            if (dynamicUse.appliesUnnamed(usage.entity, this)) {
  -              memberUsed(usage.entity, usage.read());
  -              return true;
  -            }
  -            return false;
  -          });
  -          _processInstanceFunctions(methodName, (_MemberUsage usage) {
  -            if (dynamicUse.appliesUnnamed(usage.entity, this)) {
  -              memberUsed(usage.entity, usage.read());
  -              return true;
  -            }
  -            return false;
  -          });
  +          _process(_instanceMembersByName, (m) => m.read());
  +          _process(_instanceFunctionsByName, (m) => m.read());
           }
           break;
         case DynamicUseKind.SET:
           if (_registerNewSelector(dynamicUse, _invokedSetters)) {
  -          _processInstanceMembers(methodName, (_MemberUsage usage) {
  -            if (dynamicUse.appliesUnnamed(usage.entity, this)) {
  -              memberUsed(usage.entity, usage.write());
  -              return true;
  -            }
  -            return false;
  -          });
  +          _process(_instanceMembersByName, (m) => m.write());
           }
           break;
       }
  
positive.code:       DynamicUse dynamicUse, MemberUsedCallback memberUsed) {
      Selector selector = dynamicUse.selector;
      String methodName = selector.name;
      switch (dynamicUse.kind) {
        case DynamicUseKind.INVOKE:
          if (_registerNewSelector(dynamicUse, _invokedNames)) {
            _processInstanceMembers(methodName, (_MemberUsage member) {
              if (dynamicUse.appliesUnnamed(member.entity, _world)) {
                memberUsed(member.entity, member.invoke());
                return true;
              }
              return false;
            });
            return true;
          }
          break;
        case DynamicUseKind.GET:
          if (_registerNewSelector(dynamicUse, _invokedGetters)) {
            _processInstanceMembers(methodName, (_MemberUsage member) {
              if (dynamicUse.appliesUnnamed(member.entity, _world)) {
                memberUsed(member.entity, member.read());
                return true;
              }
              return false;
            });
            _processInstanceFunctions(methodName, (_MemberUsage member) {
              if (dynamicUse.appliesUnnamed(member.entity, _world)) {
                memberUsed(member.entity, member.read());
                return true;
              }
              return false;
            });
            return true;
          }
          break;
        case DynamicUseKind.SET:
          if (_registerNewSelector(dynamicUse, _invokedSetters)) {
            _processInstanceMembers(methodName, (_MemberUsage member) {
              if (dynamicUse.appliesUnnamed(member.entity, _world)) {
                memberUsed(member.entity, member.write());
                return true;
              }
              return false;
            });
            return true;
          }
          break;
  
negative.code:   final Map<ClassElement, ClassHierarchyNode> _classHierarchyNodes =
        <ClassElement, ClassHierarchyNode>{};
    final Map<ClassElement, ClassSet> _classSets = <ClassElement, ClassSet>{};
  
    final Set<Element> alreadyPopulated;
  
  