anchor.diff:      "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 == "eabi")
  +        then { cpu = elemAt l 0; vendor = "none"; kernel = "none"; abi = elemAt l 1; }
         else   { cpu = elemAt l 0;                      kernel = elemAt l 1;                   };
       "3" = # Awkwards hacks, beware!
         if elemAt l 1 == "apple"
  
positive.code:         then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "windows";  abi = "gnu"; }
        else if hasPrefix "netbsd" (elemAt l 2)
          then { cpu = elemAt l 0; vendor = elemAt l 1;    kernel = elemAt l 2;                }
        else throw "Target specification with 3 components is ambiguous";
      "4" =    { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; abi = elemAt l 3; };
    }.${toString (length l)}
  
negative.code:     cygnus       = {};
      msvc         = {};
      eabi         = {};
      elf         = {};
  
      androideabi  = {};
      android      = {
  