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

  closure = builtins.genericClosure {
    startSet = [{key = 80;}];
    operator = {key, foo ? false}:
      if builtins.lessThan key 0
      then []
      else [{key = builtins.sub key 9;} {key = builtins.sub key 13; foo = true;}];
  };

  sort = builtins.sort (a: b: builtins.lessThan a.key b.key);

in sort closure