anchor.diff:          //
           // * b [0, 1) is required
           if (siblings.length == 1) {
  -          // Add to [_toProcess] because [_fromCurrent] will get discarded when
  -          // we return `null`.
  -          _toProcess.add(newRequired);
  -          return null;
  +          _replaceCurrent(newRequired);
  +          return false;
           } else {
             _fromCurrent.add(newRequired);
           }
  
positive.code:       // entirely.
        var intersection = required.dep.constraint
            .intersect(fact.depender.constraint);
        if (intersection.isEmpty) return null;
        if (intersection != fact.depender.constraint) {
          fact = new Dependency(
              fact.depender.withConstraint(intersection),
              fact.allowed,
              [required, fact]);
        }
  
        // If [fact]'s depender is required, see if we can come up with a merged
  
negative.code:           dependency.depender, allowed, [dependency].addAll(relevant)));
      }
  
      return true;
    }
  
    bool _dependencyIntoRequired(Dependency fact) {
      var required = _required[fact.depender.name];
      if (required != null) {
        if (required.toRef() != fact.depender.toRef()) return false;
  
        // Trim [fact] or throw it away if it's irrelevant. For example, if
        //
  