anchor.diff:  void _toSet(ClassBuilder classBuilder, Iterable<ClassMember> members,
       Set<ClassMember> result) {
     for (ClassMember member in members) {
  -    if (member.hasDeclarations &&
  -        (!useConsolidated || classBuilder == member.classBuilder)) {
  +    if (member.hasDeclarations && classBuilder == member.classBuilder) {
         _toSet(classBuilder, member.declarations, result);
       } else {
         result.add(member);
  
positive.code: import 'forwarding_node.dart' show ForwardingNode;
  
  import 'kernel_builder.dart' show ImplicitFieldType;
  
  const bool useConsolidated = true;
  
  const DebugLogger debug =
      const bool.fromEnvironment("debug.hierarchy") ? const DebugLogger() : null;
  
negative.code:     List<VariableDeclaration> declaredNamed = declaredFunction.namedParameters;
      for (ClassMember overriddenMember
          in toSet(declaredMember.classBuilder, overriddenMembers)) {
        Member bMember = overriddenMember.getMember(hierarchy);
        if (bMember is! Procedure) {
          debug?.log("Giving up 1");
  