anchor.diff: -lib: lib.composable [ "build-support" "pkgs" ] (
  +lib: lib.composable [ "eval-support" "build-support" "pkgs" ] (
  +
  +eval-support@{ calculate-id }:
   
   build-support@{ compile-c, write-file }:
   
   pkgs@{ coreutils }:
   
  -name: { filename, argv, envp ? null }: let
  +name: { filename, argv, envp ? null, user ? null }: let
     needs-envp = envp != null;
   
     exec-fun = if needs-envp
  
positive.code:   ${envp-def}
  
    int main(int argc, char ** _argv) {
      ${exec-fun};
      err(212, "executing %s", filename);
    }
  
negative.code:       ''"${name}=${value}"''
      ) envp) ++ [ "NULL" ])} };
    '' else "";
  
    setuid = if user == null
      then "0"
      else "setuid(${calculate-id user})";
  in compile-c [ "-Wl,-s" ] (write-file "${name}.c" ''
    #include <unistd.h>
    #include <err.h>
  