anchor.diff:    # Use this rather than `rec { ... }` below for sake of overlays.
     inherit (pkgs.haskell) compiler packages;
   
  +  # temporarily use python 3.8 since 3.9 fails with musl
  +  # https://github.com/NixOS/nixpkgs/issues/131557
  +  muslArgs = pkgs.lib.optionalAttrs pkgs.stdenv.buildPlatform.isMusl {
  +    python3 = buildPackages.python38;
  +  };
  +
   in {
     lib = haskellLib;
   
  
positive.code:       inherit (buildPackages.python3Packages) sphinx;
        buildLlvmPackages = buildPackages.llvmPackages_9;
        llvmPackages = pkgs.llvmPackages_9;
      };
      ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix {
        # aarch64 ghc8102Binary exceeds max output size on hydra
        bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 then
            packages.ghc8102BinaryMinimal
  
negative.code:       inherit (buildPackages.python3Packages) sphinx;
        buildLlvmPackages = buildPackages.llvmPackages_7;
        llvmPackages = pkgs.llvmPackages_7;
      } // muslArgs);
      ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix ({
        # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
        # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
        bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 || stdenv.targetPlatform.isMusl then
  