anchor.diff:  # as subcomponents (e.g. the container feature, or nixops if network
   # expressions are ever made modular at the top level) can just use
   # types.submodule instead of using eval-config.nix
  +evalConfigArgs@
   { # !!! system can be set modularly, would be nice to remove
     system ? builtins.currentSystem
   , # !!! is this argument needed any more? The pkgs argument can
  
positive.code:                  in if e == "" then [] else [(import e)]
  }:
  
  let extraArgs_ = extraArgs; pkgs_ = pkgs;
  in
  
  let
  
negative.code:     };
    };
  
    legacyModules =
      lib.optional (evalConfigArgs?args) {
        config = {
          _module.args = extraArgs;
        };
      }
      ++ lib.optional (evalConfigArgs?check) {
        config = {
          _module.check = lib.mkDefault check;
        };
      };
    allUserModules = modules ++ legacyModules;
  
    noUserModules = lib.evalModules ({
      inherit prefix;
      modules = baseModules ++ extraModules ++ [ pkgsModule modulesModule ];
      specialArgs =
        { modulesPath = builtins.toString ../modules; } // specialArgs;
    });
  
    # Extra arguments that are useful for constructing a similar configuration.
    modulesModule = {
      config = {
        _module.args = {
          inherit noUserModules baseModules extraModules modules;
        };
      };
    };
  
  in rec {
  
    # Merge the option definitions in all modules, forming the full
    # system configuration.
    inherit (noUserModules.extendModules { modules = allUserModules; })
      config options _module type;
  
    inherit extraArgs;
  