anchor.diff:  
   # Function taking set of plist keys-value pairs and returns a new set with changes applied.
   #
  -# For example: (super: super // { AnotherKey: "<string>value</string>"; })
  +# For example: (super: super // { AnotherKey: "value"; })
   , overrideInfoPlist ? (super: super)
  -
  -, extraInfoPlistContent ? ""
   }:
   let
     defaultInfoPlist = {
  
positive.code: in
  nixpkgs.runCommand "${executableName}-app" (rec {
    exePath = package ghcIosArm64;
    infoPlist = builtins.toFile "Info.plist" (plistLib.inPLISTDocument ''
      ${plistLib.pprExpr "" (overrideInfoPlist defaultInfoPlist)}
      ${extraInfoPlistContent}
    '');
    resourceRulesPlist = builtins.toFile "ResourceRules.plist" (plistLib.toPLIST {
      rules = {
        ${".*"} = true;
  
negative.code:     cp -RL "$icon" "$out/${executableName}.app/"
    done
    set +x
  ''
  