1: { callPackage, lib, withArgsOf }: 2: 3: with builtins; 4: with lib; 5: 6: # Support an "inner-composition" of "f" and "g", which behaves like 7: # "args: f (g args)" but has explicit named arguments, to allow 8: # "functionArgs" to work (as used by "callPackage"). 9: f: g: 10: withArgsOf g (args: f (g args))