anchor.diff:  # to run these tests:
   # nix-instantiate --eval --strict nixpkgs/lib/tests/misc.nix
   # if the resulting list is empty, all tests passed
  -let inherit (builtins) add; in
   with import ../default.nix;
   
   runTests {
  
positive.code:   testSplitStringsLastEmpty = {
      expr = strings.splitString ":" "2001:db8:0:0042::8a2e:370:";
      expected = [ "2001" "db8" "0" "0042" "" "8a2e" "370" "" ];
    };
  
  # LISTS
  
negative.code:           res4 = let x = defaultOverridableDelayableArgs id { a = 7; };
                  in (x.merge) ( x: { b = 10; });
            res5 = let x = defaultOverridableDelayableArgs id { a = 7; };
                  in (x.merge) ( x: { a = builtins.add x.a 3; });
            res6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = builtins.add; }; };
                       y = x.merge {};
                  in (y.merge) { a = 10; };
  
            resRem7 = res6.replace (a: removeAttrs a ["a"]);
  
            resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = builtins.add; }; };
                              x2 = x.merge { a = 20; }; # now we have 27
                          in (x2.replace) { a = 10; }; # and override the value by 10
  
  