anchor.diff:    */
     makeLibraryPath = pkgs: makeSearchPath "lib"
       # try to guess the right output of each pkg
  -    (map (pkg: pkg.lib or (pkg.out or pkg)) pkgs);
  +    (map (pkg: if pkg.outputUnspecified or false then pkg.lib or (pkg.out or pkg) else pkg) pkgs);
   
     /* Construct a binary search path (such as $PATH) containing the
        binaries for a set of packages.
  
positive.code:        => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-bin/bin:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/bin"
    */
    makeSearchPathOutputs = subDir: outputs: pkgs:
      makeSearchPath subDir (map (lib.tryAttrs (outputs ++ ["out"])) pkgs);
  
    /* Construct a library search path (such as RPATH) containing the
       libraries for a set of packages
  
negative.code:        => "/nix/store/n0m1fk9c960d8wlrs62sncnadygqqc6y-perl-Net-SMTP-1.25/lib/perl5/site_perl"
    */
    makePerlPath = pkgs: makeSearchPath "lib/perl5/site_perl"
      (map (pkg: if pkg.outputUnspecified or false then pkg.lib or (pkg.out or pkg) else pkg) pkgs);
  
    /* Dependening on the boolean `cond', return either the given string
       or the empty string. Useful to contatenate against a bigger string.
  