anchor.diff:  
     addrOpts = v:
       assert v == 4 || v == 6;
  -    {
  -      address = mkOption {
  -        type = types.str;
  -        description = ''
  -          IPv${toString v} address of the interface.  Leave empty to configure the
  -          interface using DHCP.
  -        '';
  -      };
  -
  -      prefixLength = mkOption {
  -        type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128));
  -        description = ''
  -          Subnet mask of the interface, specified as the number of
  -          bits in the prefix (<literal>${if v == 4 then "24" else "64"}</literal>).
  -        '';
  +    { options = {
  +        address = mkOption {
  +          type = types.str;
  +          description = ''
  +            IPv${toString v} address of the interface.  Leave empty to configure the
  +            interface using DHCP.
  +          '';
  +        };
  +
  +        prefixLength = mkOption {
  +          type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128));
  +          description = ''
  +            Subnet mask of the interface, specified as the number of
  +            bits in the prefix (<literal>${if v == 4 then "24" else "64"}</literal>).
  +          '';
  +        };
         };
       };
   
  
positive.code:           { address = "fdfd:b3f0:482::1"; prefixLength = 48; }
            { address = "2001:1470:fffd:2098::e006"; prefixLength = 64; }
          ];
          type = types.listOf types.optionSet;
          options = addrOpts 6;
          description = ''
            List of IPv6 addresses that will be statically assigned to the interface.
          '';
  
negative.code:           would have to be created explicitly.
          '';
  
        type = with types; attrsOf (submodule {
  
          options = {
  
            device = mkOption {
              type = types.string;
              example = "wlp6s0";
              description = "The name of the underlying hardware WLAN device as assigned by <literal>udev</literal>.";
            };
  
            type = mkOption {
              type = types.string;
              default = "managed";
              example = "ibss";
              description = ''
                The type of the WLAN interface. The type has to be either <literal>managed</literal>,
                <literal>ibss</literal>, <literal>monitor</literal>, <literal>mesh</literal> or <literal>wds</literal>.
                Also, the type has to be supported by the underlying hardware of the device.
              '';
            };
  
            meshID = mkOption {
              type = types.nullOr types.string;
              default = null;
              description = "MeshID of interface with type <literal>mesh</literal>.";
            };
  
            flags = mkOption {
              type = types.nullOr types.string;
              default = null;
              example = "control";
              description = ''
                Flags for interface of type <literal>monitor</literal>. The valid flags are:
                none:     no special flags
                fcsfail:  show frames with FCS errors
                control:  show control frames
                otherbss: show frames from other BSSes
                cook:     use cooked mode
                active:   use active mode (ACK incoming unicast packets)
              '';
            };
  
            fourAddr = mkOption {
              type = types.nullOr types.bool;
              default = null;
              description = "Whether to enable <literal>4-address mode</literal> with type <literal>managed</literal>.";
            };
  
            mac = mkOption {
              type = types.nullOr types.str;
              default = null;
              example = "02:00:00:00:00:01";
              description = ''
                MAC address to use for the device. If <literal>null</literal>, then the MAC of the
                underlying hardware WLAN device is used.
  
                INFO: Locally administered MAC addresses are of the form:
                <itemizedlist>
                <listitem><para>x2:xx:xx:xx:xx:xx</para></listitem>
                <listitem><para>x6:xx:xx:xx:xx:xx</para></listitem>
                <listitem><para>xA:xx:xx:xx:xx:xx</para></listitem>
                <listitem><para>xE:xx:xx:xx:xx:xx</para></listitem>
                </itemizedlist>
              '';
            };
  
          };
  
        });
  
      };
  
      networking.useDHCP = mkOption {
  