anchor.diff:        ghcjs = hackGet ./ghcjs;
       };
   
  -    inherit (nixpkgs.stdenv.lib) optional optionals optionalAttrs;
  -
       optionalExtension = cond: overlay: if cond then overlay else _: _: {};
   
  -in with lib; with haskellLib;
  -
  -let overrideCabal = pkg: f: if pkg == null then null else haskellLib.overrideCabal pkg f;
  +    overrideCabal = pkg: f: if pkg == null then null else haskellLib.overrideCabal pkg f;
   
       replaceSrc = pkg: src: version: overrideCabal pkg (drv: {
         inherit src version;
  
positive.code:           "testSystemDepends"
            "testToolDepends"
          ];
          concatCombinableAttrs = haskellConfigs: filterAttrs (n: v: v != []) (listToAttrs (map (name: { inherit name; value = concatLists (map (haskellConfig: haskellConfig.${name} or []) haskellConfigs); }) combinableAttrs));
          getHaskellConfig = p: (overrideCabal p (args: {
            passthru = (args.passthru or {}) // {
              out = args;
  
negative.code:     ++ builtins.map reflexEnv platforms;
  
    cachePackages =
      let otherPlatforms = lib.optionals androidSupport [
            "ghcAndroidAarch64"
            "ghcAndroidAarch32"
          ] ++ lib.optional iosSupport "ghcIosAarch64";
      in tryReflexPackages
        ++ builtins.map reflexEnv otherPlatforms
        ++ lib.optionals androidSupport [
          androidDevTools
          androidReflexTodomvc
        ] ++ lib.optionals iosSupport [
          iosReflexTodomvc
        ];
  
  