anchor.diff:        else if (elemAt l 1 == "linux") || (elemAt l 2 == "gnu")
           then { cpu = elemAt l 0;                      kernel = elemAt l 1; abi = elemAt l 2; }
         else if (elemAt l 2 == "mingw32") # autotools breaks on -gnu for window
  -        then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "windows";  abi = "gnu"; }
  +        then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "windows";                    }
         else if hasPrefix "netbsd" (elemAt l 2)
           then { cpu = elemAt l 0; vendor = elemAt l 1;    kernel = elemAt l 2;                }
         else if (elem (elemAt l 2) ["eabi" "eabihf" "elf"])
  
positive.code:     "2" = # We only do 2-part hacks for things Nix already supports
        if elemAt l 1 == "cygwin"
          then { cpu = elemAt l 0;                      kernel = "windows";  abi = "cygnus";   }
        else if (elemAt l 1) == "elf"
        then { cpu = elemAt l 0; vendor = "unknown";    kernel = "none";     abi = elemAt l 1; }
        else   { cpu = elemAt l 0;                      kernel = elemAt l 1;                   };
      "3" = # Awkwards hacks, beware!
        if elemAt l 1 == "apple"
  
negative.code:                else                                   getKernel args.kernel;
        abi =
          /**/ if args ? abi       then getAbi args.abi
          else if isLinux parsed || isWindows parsed then
            if isAarch32 parsed then
              if lib.versionAtLeast (parsed.cpu.version or "0") "6"
              then abis.gnueabihf
              else abis.gnueabi
            else abis.gnu
          else                     abis.unknown;
      };
  
  