anchor.diff:                  ${extraConfig}
                 };
               '')
  -          cfg.zones }
  +          (attrValues cfg.zones) }
       '';
   
   in
  
positive.code: 
    bindUser = "named";
  
    bindZoneOptions = {
      name = mkOption {
        type = types.str;
        description = "Name of the zone.";
      };
      master = mkOption {
        description = "Master=false means slave server";
        type = types.bool;
      };
      file = mkOption {
        type = types.either types.str types.path;
        description = "Zone file resource records contain columns of data, separated by whitespace, that define the record.";
      };
      masters = mkOption {
        type = types.listOf types.str;
        description = "List of servers for inclusion in stub and secondary zones.";
      };
      slaves = mkOption {
        type = types.listOf types.str;
        description = "Addresses who may request zone transfers.";
        default = [];
      };
      extraConfig = mkOption {
        type = types.str;
        description = "Extra zone config to be appended at the end of the zone section.";
        default = "";
      };
    };
  
  
negative.code: 
        zones = mkOption {
          default = [];
          type = with types; coercedTo (listOf attrs) bindZoneCoerce (attrsOf (types.submodule bindZoneOptions));
          description = "
            List of zones we claim authority over.
          ";
          example = {
            "example.com" = {
              master = false;
              file = "/var/dns/example.com";
              masters = ["192.168.0.1"];
              slaves = [];
              extraConfig = "";
            };
          };
        };
  
        extraConfig = mkOption {
  