anchor.diff:    # * https://nixos.org/nix/manual/#ssec-derivation
     #   Explanation about derivations in general
     mkDerivation =
  -    { buildInputs ? []
  -    , nativeBuildInputs ? []
  +    { nativeBuildInputs ? []
  +    , buildInputs ? []
  +
  +    , propagatedNativeBuildInputs ? []
       , propagatedBuildInputs ? []
  -    , propagatedNativeBuildInputs ? []
  +
       , crossConfig ? null
       , meta ? {}
       , passthru ? {}
  
positive.code:     , 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__;
      in let
        pos' =
          if pos != null then
  
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 =
  