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 = (import ./lib.nix).sortBy (a: b: builtins.lessThan a.key b.key);

in sort closure