anchor.diff:                         in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
   
       systemd.user.units =
  -         mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services
  +         mapAttrs' (n: v: nameValuePair "${n}.path"    (pathToUnit    n v)) cfg.user.paths
  +      // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services
  +      // mapAttrs' (n: v: nameValuePair "${n}.slice"   (sliceToUnit   n v)) cfg.user.slices
         // mapAttrs' (n: v: nameValuePair "${n}.socket"  (socketToUnit  n v)) cfg.user.sockets
         // mapAttrs' (n: v: nameValuePair "${n}.target"  (targetToUnit  n v)) cfg.user.targets
         // mapAttrs' (n: v: nameValuePair "${n}.timer"   (timerToUnit   n v)) cfg.user.timers;
  
positive.code:         }));
      };
  
      systemd.user.services = mkOption {
        default = {};
        type = with types; attrsOf (submodule [ { options = serviceOptions; } unitConfig serviceConfig ] );
        description = "Definition of systemd per-user service units.";
      };
  
      systemd.user.timers = mkOption {
        default = {};
        type = with types; attrsOf (submodule [ { options = timerOptions; } unitConfig ] );
        description = "Definition of systemd per-user timer units.";
      };
  
      systemd.user.sockets = mkOption {
        default = {};
        type = with types; attrsOf (submodule [ { options = socketOptions; } unitConfig ] );
        description = "Definition of systemd per-user socket units.";
      };
  
      systemd.user.targets = mkOption {
        default = {};
        type = with types; attrsOf (submodule [ { options = targetOptions; } unitConfig] );
        description = "Definition of systemd per-user target units.";
      };
  
      systemd.additionalUpstreamSystemUnits = mkOption {
  
negative.code:       };
  
      systemd.units =
           mapAttrs' (n: v: nameValuePair "${n}.path"    (pathToUnit    n v)) cfg.paths
        // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services
        // mapAttrs' (n: v: nameValuePair "${n}.slice"   (sliceToUnit   n v)) cfg.slices
        // mapAttrs' (n: v: nameValuePair "${n}.socket"  (socketToUnit  n v)) cfg.sockets
        // mapAttrs' (n: v: nameValuePair "${n}.target"  (targetToUnit  n v)) cfg.targets
        // mapAttrs' (n: v: nameValuePair "${n}.timer"   (timerToUnit   n v)) cfg.timers
        // listToAttrs (map
                     (v: let n = escapeSystemdPath v.where;
                         in nameValuePair "${n}.mount" (mountToUnit n v)) cfg.mounts)
  