anchor.diff:  
   let
     inherit (builtins) head tail length;
  -  inherit (lib.trivial) and;
  +  inherit (lib.trivial) id;
     inherit (lib.strings) concatStringsSep sanitizeDerivationName;
  -  inherit (lib.lists) foldr foldl' concatMap concatLists elemAt;
  +  inherit (lib.lists) foldr foldl' concatMap concatLists elemAt all;
   in
   
   rec {
  
positive.code:        getAttrFromPath ["z" "z"] x
         => error: cannot find attribute `z.z'
    */
    getAttrFromPath = attrPath: set:
      let errorMsg = "cannot find attribute `" + concatStringsSep "." attrPath + "'";
      in attrByPath attrPath (abort errorMsg) set;
  
  
    /* Return the specified attributes from a set.
  
negative.code:        foldAttrs (n: a: [n] ++ a) [] [{ a = 2; } { a = 3; }]
         => { a = [ 2 3 ]; }
    */
    foldAttrs = op: nul:
      foldr (n: a:
          foldr (name: o:
            o // { ${name} = op n.${name} (a.${name} or nul); }
          ) a (attrNames n)
      ) {};
  
  
    /* Recursively collect sets that verify a given predicate named `pred'
  