anchor.diff:      // we can remove both [fact] and [existing] and add
       //
       // * a [1, 2) is required
  -    var intersection = _intersectDeps(existing.dep, fact.dep);
  +    var intersection = _intersectDeps([existing.dep, fact.dep]);
       if (intersection == null) {
         throw "Incompatible constraints!";
       }
  
positive.code:       assert(dependency.depender.toRef() == depender.toRef());
        return dependency.depender;
      }));
      if (!mergedDepender.constraint.allowsAll(depender.constraint)) return null;
  
      // If the dependencies cover all of [depender], try to union the allowed
      // versions to get the narrowest possible constraint that covers all
  
negative.code: 
    final _dependenciesByAllowed = <PackageRef, Set<Dependency>>{};
  
    final _incompatibilities = <PackageRef, Set<Incompatibility>>{};
  
    final _toProcess = new Queue<Fact>();
  
  