anchor.diff:      ++ builtins.map reflexEnv platforms;
   
     cachePackages =
  -    let otherPlatforms = optionals androidSupport [
  +    let otherPlatforms = lib.optionals androidSupport [
             "ghcAndroidAarch64"
             "ghcAndroidAarch32"
  -        ] ++ optional iosSupport "ghcIosAarch64";
  +        ] ++ lib.optional iosSupport "ghcIosAarch64";
       in tryReflexPackages
         ++ builtins.map reflexEnv otherPlatforms
  -      ++ optionals androidSupport [
  +      ++ lib.optionals androidSupport [
           androidDevTools
           androidReflexTodomvc
  -      ] ++ optionals iosSupport [
  +      ] ++ lib.optionals iosSupport [
           iosReflexTodomvc
         ];
   
  
positive.code:       nodejs
        pkgconfig
        closurecompiler;
    } // (optionalAttrs (!(haskellPackages.ghc.isGhcjs or false) && builtins.compareVersions haskellPackages.ghc.version "8.2" < 0) {
      # ghc-mod doesn't currently work on ghc 8.2.2; revisit when https://github.com/DanielG/ghc-mod/pull/911 is closed
      # When ghc-mod is included in the environment without being wrapped in justStaticExecutables, it prevents ghc-pkg from seeing the libraries we install
      ghc-mod = (nixpkgs.haskell.lib.justStaticExecutables nativeHaskellPackages.ghc-mod);
      inherit (haskellPackages) hdevtools;
    }) // (optionalAttrs (builtins.compareVersions haskellPackages.ghc.version "7.10" >= 0) {
      inherit (nativeHaskellPackages) stylish-haskell; # Recent stylish-haskell only builds with AMP in place
    });
  
  
negative.code:           "testSystemDepends"
            "testToolDepends"
          ];
          concatCombinableAttrs = haskellConfigs: lib.filterAttrs (n: v: v != []) (lib.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;
  