anchor.diff:        let
           defined = x: x != "_mkMergedOptionModule";
         in [
  +        (mkChangedOptionModule [ "preferTempAddress" ] [ "tempAddress" ]
  +         (config:
  +          let bool = getAttrFromPath [ "preferTempAddress" ] config;
  +          in if bool then "default" else "enabled"
  +        ))
           (mkRenamedOptionModule [ "ip4" ] [ "ipv4" "addresses"])
           (mkRenamedOptionModule [ "ip6" ] [ "ipv6" "addresses"])
           (mkRemovedOptionModule [ "subnetMask" ] ''
  
positive.code:         description = "Name of the interface.";
        };
  
        preferTempAddress = mkOption {
          type = types.bool;
          default = cfg.enableIPv6;
          defaultText = literalExample "config.networking.enableIPv6";
          description = ''
            When using SLAAC prefer a temporary (IPv6) address over the EUI-64
            address for originating connections. This is used to reduce tracking.
          '';
        };
  
  
negative.code:           The networking.interfaces."${i.name}" must not have any defined ips when it is a slave.
          '';
        })) ++ (forEach interfaces (i: {
          assertion = i.tempAddress != "disabled" -> cfg.enableIPv6;
          message = ''
            Temporary addresses are only needed when IPv6 is enabled.
          '';
  