anchor.diff:      , sandboxProfile ? ""
       , propagatedSandboxProfile ? ""
       , ... } @ attrs:
  -    let # Rename argumemnts to avoid cycles
  -      buildInputs__ = buildInputs;
  -      nativeBuildInputs__ = nativeBuildInputs;
  -      propagatedBuildInputs__ = propagatedBuildInputs;
  -      propagatedNativeBuildInputs__ = propagatedNativeBuildInputs;
  -    in let
  -      getNativeDrv = drv: drv.nativeDrv or drv;
  -      getCrossDrv = drv: drv.crossDrv or drv;
  -      nativeBuildInputs = map getNativeDrv nativeBuildInputs__;
  -      buildInputs = map getCrossDrv buildInputs__;
  -      propagatedBuildInputs = map getCrossDrv propagatedBuildInputs__;
  -      propagatedNativeBuildInputs = map getNativeDrv propagatedNativeBuildInputs__;
  +    let
  +      dependencies = [
  +        (map (drv: drv.nativeDrv or drv) nativeBuildInputs)
  +        (map (drv: drv.crossDrv or drv) buildInputs)
  +      ];
  +      propagatedDependencies = [
  +        (map (drv: drv.nativeDrv or drv) propagatedNativeBuildInputs)
  +        (map (drv: drv.crossDrv or drv) propagatedBuildInputs)
  +      ];
       in let
         pos' =
           if pos != null then
  
positive.code:         outputs ++
          (if separateDebugInfo then assert targetPlatform.isLinux; [ "debug" ] else []);
  
        buildInputs' = lib.chooseDevOutputs buildInputs ++
          (if separateDebugInfo then [ ../../build-support/setup-hooks/separate-debug-info.sh ] else []);
  
        nativeBuildInputs' = lib.chooseDevOutputs nativeBuildInputs;
        propagatedBuildInputs' = lib.chooseDevOutputs propagatedBuildInputs;
        propagatedNativeBuildInputs' = lib.chooseDevOutputs propagatedNativeBuildInputs;
  
      in
  
        # Throw an error if trying to evaluate an non-valid derivation
  
negative.code:           userHook = config.stdenv.userHook or null;
            __ignoreNulls = true;
  
            nativeBuildInputs = lib.elemAt dependencies' 0;
            buildInputs = lib.elemAt dependencies' 1;
  
            propagatedNativeBuildInputs = lib.elemAt propagatedDependencies' 0;
            propagatedBuildInputs = lib.elemAt propagatedDependencies' 1;
          } // ifDarwin {
            # TODO: remove lib.unique once nix has a list canonicalization primitive
            __sandboxProfile =
  