let {

  mkDrv = text: inputs: derivation {
    name = "parallel";
    system = "@system@";
    builder = "@shell@";
    args = ["-e" "-x" ./parallel.builder.sh];
    shared = "@extra1@";
    inherit text inputs;
  };

  a = mkDrv "a" [];
  b = mkDrv "b" [a];
  c = mkDrv "c" [a];
  d = mkDrv "d" [a];
  e = mkDrv "e" [b c d];

  body = e;
}