anchor.diff:    # directory for all of the package files and generate a big attribute set
     # for all of them. Re-exports the `callPackage` function and all of the
     # attribute sets, as well as the nodeLib.
  -  generatePackages = {
  +  #
  +  # We use `lib.makeOverridable` so that this function's result can be
  +  # overridden in the same way that we can override the result from a
  +  # `callPackage` invocation. This is intended to pave the way for a
  +  # non-backwards compatible refactor to provide a simpler interface
  +  # that resembles other overridable language package sets
  +  # (e.g. haskellPackages).
  +  #
  +  # In truth, this whole file should be refactored so that it only
  +  # provides "libs" and then have a make-packages.nix file that can be
  +  # `callPackage`'ed from the `default.nix` one level up from the
  +  # `nodeLibs`; the intake arguments would a union of the arguments to
  +  # this file and to this generatePackages function.
  +  generatePackages = makeOverridable ({
  +
       # Path to find node packages in.
       nodePackagesPath,
  +
       # Extensions are other node libraries which will be folded into the
       # generated one.
  +    # 
  +    # This is deprecated, the overrides argument should be used
  +    # instead and if there are multiple package sets to give they can
  +    # be composed first with `composeExtensions`.
  +    #
  +    # Note that any overrides provided via the `overrides` argument
  +    # will override any package of the same name from the union of all
  +    # package sets given in `extensions`.
       extensions ? [],
  +
  +    overrides ? (self: super: {}),
  +
       # If any additional arguments should be made available to callPackage
       # (for example for packages which require additional arguments), they
       # can be passed in here. Those packages can declare an `extras` argument
  
positive.code: } @ args:
  
  let
    # Function to replace dots with something
    replaceDots = c: replaceChars ["."] [c];
    inherit (builtins) readDir removeAttrs length getEnv elemAt hasAttr;
  
negative.code: A set of tools for generating node packages, such as to be imported by
  default.nix files generated by nixfromnpm.
  */
  
  # NOTE: this should be removed when backwards compatibility breaking
  # changes are allowed to be made to the top-level generated
  # default.nix
  
  {
    # Self-reference so that we can pass through to downstream libraries
  