1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
let

  foobar = "foobar";

in

{ xyzzy2 ? xyzzy # mutually recursive args
, xyzzy ? "blaat" # will be overridden by --argstr
, fb ? foobar
, lib # will be set by --arg
}:

{
  result = lib.id (builtins.concatStringsSep "" [xyzzy xyzzy2 fb]);
  result2 = { xyzzy }: xyzzy;
}