anchor.diff:    #
     # Examples:
     #   writeSimpleC = makeBinWriter { compileScript = name: "gcc -o $out $contentPath"; }
  -  makeBinWriter = { compileScript }: nameOrPath: content:
  +  makeBinWriter = { compileScript, strip ? true }: nameOrPath: content:
       assert lib.or (types.path.check nameOrPath) (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" nameOrPath != null);
       assert lib.or (types.path.check content) (types.str.check content);
       let
  
positive.code:       contentPath = content;
      }) ''
        ${compileScript}
        ${optionalString (types.path.check nameOrPath) ''
          mv $out tmp
          mkdir -p $out/$(dirname "${nameOrPath}")
  
negative.code:         cp $contentPath tmp.hs
          ${ghc.withPackages (_: libraries )}/bin/ghc ${lib.escapeShellArgs ghcArgs} tmp.hs
          mv tmp $out
        '';
      } name;
  
  