anchor.diff:                      any dependsOnOld (referencesOf drv);
             }) (builtins.attrNames references));
   
  -  dependsOnOld = drv: getAttr (discard (toString drv)) dependsOnOldMemo;
  +  dependsOnOld = drv: dependsOnOldMemo.${discard (toString drv)};
   
     drvName = drv:
       discard (substring 33 (stringLength (builtins.baseNameOf drv)) (builtins.baseNameOf drv));
  
positive.code:           })
      (filter dependsOnOld (builtins.attrNames references))) // rewrittenDeps;
  
  in assert (stringLength (drvName (toString oldDependency)) == stringLength (drvName (toString newDependency)));
  if hasAttr (discard (toString drv)) rewriteMemo
  then getAttr (discard (toString drv)) rewriteMemo
  else warn "replace-dependency.nix: derivation ${discard (toString drv)} does not depend on ${discard (toString oldDependency)}\n" drv
  
negative.code: 
    oldStorepath = builtins.storePath (discard (toString oldDependency));
  
    referencesOf = drv: references.${discard (toString drv)};
  
    dependsOnOldMemo = listToAttrs (map
      (drv: { name = discard (toString drv);
  