// Code generated by "go run duplicate_generate.go"; DO NOT EDIT.

package dns

// isDuplicate() functions

func ( *A) ( RR) bool {
	,  := .(*A)
	if ! {
		return false
	}
	_ = 
	if !.A.Equal(.A) {
		return false
	}
	return true
}

func ( *AAAA) ( RR) bool {
	,  := .(*AAAA)
	if ! {
		return false
	}
	_ = 
	if !.AAAA.Equal(.AAAA) {
		return false
	}
	return true
}

func ( *AFSDB) ( RR) bool {
	,  := .(*AFSDB)
	if ! {
		return false
	}
	_ = 
	if .Subtype != .Subtype {
		return false
	}
	if !isDuplicateName(.Hostname, .Hostname) {
		return false
	}
	return true
}

func ( *AMTRELAY) ( RR) bool {
	,  := .(*AMTRELAY)
	if ! {
		return false
	}
	_ = 
	if .Precedence != .Precedence {
		return false
	}
	if .GatewayType != .GatewayType {
		return false
	}
	switch .GatewayType {
	case IPSECGatewayIPv4, IPSECGatewayIPv6:
		if !.GatewayAddr.Equal(.GatewayAddr) {
			return false
		}
	case IPSECGatewayHost:
		if !isDuplicateName(.GatewayHost, .GatewayHost) {
			return false
		}
	}

	return true
}

func ( *ANY) ( RR) bool {
	,  := .(*ANY)
	if ! {
		return false
	}
	_ = 
	return true
}

func ( *APL) ( RR) bool {
	,  := .(*APL)
	if ! {
		return false
	}
	_ = 
	if len(.Prefixes) != len(.Prefixes) {
		return false
	}
	for  := 0;  < len(.Prefixes); ++ {
		if !.Prefixes[].equals(&.Prefixes[]) {
			return false
		}
	}
	return true
}

func ( *AVC) ( RR) bool {
	,  := .(*AVC)
	if ! {
		return false
	}
	_ = 
	if len(.Txt) != len(.Txt) {
		return false
	}
	for  := 0;  < len(.Txt); ++ {
		if .Txt[] != .Txt[] {
			return false
		}
	}
	return true
}

func ( *CAA) ( RR) bool {
	,  := .(*CAA)
	if ! {
		return false
	}
	_ = 
	if .Flag != .Flag {
		return false
	}
	if .Tag != .Tag {
		return false
	}
	if .Value != .Value {
		return false
	}
	return true
}

func ( *CDNSKEY) ( RR) bool {
	,  := .(*CDNSKEY)
	if ! {
		return false
	}
	_ = 
	if .Flags != .Flags {
		return false
	}
	if .Protocol != .Protocol {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .PublicKey != .PublicKey {
		return false
	}
	return true
}

func ( *CDS) ( RR) bool {
	,  := .(*CDS)
	if ! {
		return false
	}
	_ = 
	if .KeyTag != .KeyTag {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .DigestType != .DigestType {
		return false
	}
	if .Digest != .Digest {
		return false
	}
	return true
}

func ( *CERT) ( RR) bool {
	,  := .(*CERT)
	if ! {
		return false
	}
	_ = 
	if .Type != .Type {
		return false
	}
	if .KeyTag != .KeyTag {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .Certificate != .Certificate {
		return false
	}
	return true
}

func ( *CNAME) ( RR) bool {
	,  := .(*CNAME)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Target, .Target) {
		return false
	}
	return true
}

func ( *CSYNC) ( RR) bool {
	,  := .(*CSYNC)
	if ! {
		return false
	}
	_ = 
	if .Serial != .Serial {
		return false
	}
	if .Flags != .Flags {
		return false
	}
	if len(.TypeBitMap) != len(.TypeBitMap) {
		return false
	}
	for  := 0;  < len(.TypeBitMap); ++ {
		if .TypeBitMap[] != .TypeBitMap[] {
			return false
		}
	}
	return true
}

func ( *DHCID) ( RR) bool {
	,  := .(*DHCID)
	if ! {
		return false
	}
	_ = 
	if .Digest != .Digest {
		return false
	}
	return true
}

func ( *DLV) ( RR) bool {
	,  := .(*DLV)
	if ! {
		return false
	}
	_ = 
	if .KeyTag != .KeyTag {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .DigestType != .DigestType {
		return false
	}
	if .Digest != .Digest {
		return false
	}
	return true
}

func ( *DNAME) ( RR) bool {
	,  := .(*DNAME)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Target, .Target) {
		return false
	}
	return true
}

func ( *DNSKEY) ( RR) bool {
	,  := .(*DNSKEY)
	if ! {
		return false
	}
	_ = 
	if .Flags != .Flags {
		return false
	}
	if .Protocol != .Protocol {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .PublicKey != .PublicKey {
		return false
	}
	return true
}

func ( *DS) ( RR) bool {
	,  := .(*DS)
	if ! {
		return false
	}
	_ = 
	if .KeyTag != .KeyTag {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .DigestType != .DigestType {
		return false
	}
	if .Digest != .Digest {
		return false
	}
	return true
}

func ( *EID) ( RR) bool {
	,  := .(*EID)
	if ! {
		return false
	}
	_ = 
	if .Endpoint != .Endpoint {
		return false
	}
	return true
}

func ( *EUI48) ( RR) bool {
	,  := .(*EUI48)
	if ! {
		return false
	}
	_ = 
	if .Address != .Address {
		return false
	}
	return true
}

func ( *EUI64) ( RR) bool {
	,  := .(*EUI64)
	if ! {
		return false
	}
	_ = 
	if .Address != .Address {
		return false
	}
	return true
}

func ( *GID) ( RR) bool {
	,  := .(*GID)
	if ! {
		return false
	}
	_ = 
	if .Gid != .Gid {
		return false
	}
	return true
}

func ( *GPOS) ( RR) bool {
	,  := .(*GPOS)
	if ! {
		return false
	}
	_ = 
	if .Longitude != .Longitude {
		return false
	}
	if .Latitude != .Latitude {
		return false
	}
	if .Altitude != .Altitude {
		return false
	}
	return true
}

func ( *HINFO) ( RR) bool {
	,  := .(*HINFO)
	if ! {
		return false
	}
	_ = 
	if .Cpu != .Cpu {
		return false
	}
	if .Os != .Os {
		return false
	}
	return true
}

func ( *HIP) ( RR) bool {
	,  := .(*HIP)
	if ! {
		return false
	}
	_ = 
	if .HitLength != .HitLength {
		return false
	}
	if .PublicKeyAlgorithm != .PublicKeyAlgorithm {
		return false
	}
	if .PublicKeyLength != .PublicKeyLength {
		return false
	}
	if .Hit != .Hit {
		return false
	}
	if .PublicKey != .PublicKey {
		return false
	}
	if len(.RendezvousServers) != len(.RendezvousServers) {
		return false
	}
	for  := 0;  < len(.RendezvousServers); ++ {
		if !isDuplicateName(.RendezvousServers[], .RendezvousServers[]) {
			return false
		}
	}
	return true
}

func ( *HTTPS) ( RR) bool {
	,  := .(*HTTPS)
	if ! {
		return false
	}
	_ = 
	if .Priority != .Priority {
		return false
	}
	if !isDuplicateName(.Target, .Target) {
		return false
	}
	if len(.Value) != len(.Value) {
		return false
	}
	if !areSVCBPairArraysEqual(.Value, .Value) {
		return false
	}
	return true
}

func ( *IPSECKEY) ( RR) bool {
	,  := .(*IPSECKEY)
	if ! {
		return false
	}
	_ = 
	if .Precedence != .Precedence {
		return false
	}
	if .GatewayType != .GatewayType {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	switch .GatewayType {
	case IPSECGatewayIPv4, IPSECGatewayIPv6:
		if !.GatewayAddr.Equal(.GatewayAddr) {
			return false
		}
	case IPSECGatewayHost:
		if !isDuplicateName(.GatewayHost, .GatewayHost) {
			return false
		}
	}

	if .PublicKey != .PublicKey {
		return false
	}
	return true
}

func ( *ISDN) ( RR) bool {
	,  := .(*ISDN)
	if ! {
		return false
	}
	_ = 
	if .Address != .Address {
		return false
	}
	if .SubAddress != .SubAddress {
		return false
	}
	return true
}

func ( *KEY) ( RR) bool {
	,  := .(*KEY)
	if ! {
		return false
	}
	_ = 
	if .Flags != .Flags {
		return false
	}
	if .Protocol != .Protocol {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .PublicKey != .PublicKey {
		return false
	}
	return true
}

func ( *KX) ( RR) bool {
	,  := .(*KX)
	if ! {
		return false
	}
	_ = 
	if .Preference != .Preference {
		return false
	}
	if !isDuplicateName(.Exchanger, .Exchanger) {
		return false
	}
	return true
}

func ( *L32) ( RR) bool {
	,  := .(*L32)
	if ! {
		return false
	}
	_ = 
	if .Preference != .Preference {
		return false
	}
	if !.Locator32.Equal(.Locator32) {
		return false
	}
	return true
}

func ( *L64) ( RR) bool {
	,  := .(*L64)
	if ! {
		return false
	}
	_ = 
	if .Preference != .Preference {
		return false
	}
	if .Locator64 != .Locator64 {
		return false
	}
	return true
}

func ( *LOC) ( RR) bool {
	,  := .(*LOC)
	if ! {
		return false
	}
	_ = 
	if .Version != .Version {
		return false
	}
	if .Size != .Size {
		return false
	}
	if .HorizPre != .HorizPre {
		return false
	}
	if .VertPre != .VertPre {
		return false
	}
	if .Latitude != .Latitude {
		return false
	}
	if .Longitude != .Longitude {
		return false
	}
	if .Altitude != .Altitude {
		return false
	}
	return true
}

func ( *LP) ( RR) bool {
	,  := .(*LP)
	if ! {
		return false
	}
	_ = 
	if .Preference != .Preference {
		return false
	}
	if !isDuplicateName(.Fqdn, .Fqdn) {
		return false
	}
	return true
}

func ( *MB) ( RR) bool {
	,  := .(*MB)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Mb, .Mb) {
		return false
	}
	return true
}

func ( *MD) ( RR) bool {
	,  := .(*MD)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Md, .Md) {
		return false
	}
	return true
}

func ( *MF) ( RR) bool {
	,  := .(*MF)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Mf, .Mf) {
		return false
	}
	return true
}

func ( *MG) ( RR) bool {
	,  := .(*MG)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Mg, .Mg) {
		return false
	}
	return true
}

func ( *MINFO) ( RR) bool {
	,  := .(*MINFO)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Rmail, .Rmail) {
		return false
	}
	if !isDuplicateName(.Email, .Email) {
		return false
	}
	return true
}

func ( *MR) ( RR) bool {
	,  := .(*MR)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Mr, .Mr) {
		return false
	}
	return true
}

func ( *MX) ( RR) bool {
	,  := .(*MX)
	if ! {
		return false
	}
	_ = 
	if .Preference != .Preference {
		return false
	}
	if !isDuplicateName(.Mx, .Mx) {
		return false
	}
	return true
}

func ( *NAPTR) ( RR) bool {
	,  := .(*NAPTR)
	if ! {
		return false
	}
	_ = 
	if .Order != .Order {
		return false
	}
	if .Preference != .Preference {
		return false
	}
	if .Flags != .Flags {
		return false
	}
	if .Service != .Service {
		return false
	}
	if .Regexp != .Regexp {
		return false
	}
	if !isDuplicateName(.Replacement, .Replacement) {
		return false
	}
	return true
}

func ( *NID) ( RR) bool {
	,  := .(*NID)
	if ! {
		return false
	}
	_ = 
	if .Preference != .Preference {
		return false
	}
	if .NodeID != .NodeID {
		return false
	}
	return true
}

func ( *NIMLOC) ( RR) bool {
	,  := .(*NIMLOC)
	if ! {
		return false
	}
	_ = 
	if .Locator != .Locator {
		return false
	}
	return true
}

func ( *NINFO) ( RR) bool {
	,  := .(*NINFO)
	if ! {
		return false
	}
	_ = 
	if len(.ZSData) != len(.ZSData) {
		return false
	}
	for  := 0;  < len(.ZSData); ++ {
		if .ZSData[] != .ZSData[] {
			return false
		}
	}
	return true
}

func ( *NS) ( RR) bool {
	,  := .(*NS)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Ns, .Ns) {
		return false
	}
	return true
}

func ( *NSAPPTR) ( RR) bool {
	,  := .(*NSAPPTR)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Ptr, .Ptr) {
		return false
	}
	return true
}

func ( *NSEC) ( RR) bool {
	,  := .(*NSEC)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.NextDomain, .NextDomain) {
		return false
	}
	if len(.TypeBitMap) != len(.TypeBitMap) {
		return false
	}
	for  := 0;  < len(.TypeBitMap); ++ {
		if .TypeBitMap[] != .TypeBitMap[] {
			return false
		}
	}
	return true
}

func ( *NSEC3) ( RR) bool {
	,  := .(*NSEC3)
	if ! {
		return false
	}
	_ = 
	if .Hash != .Hash {
		return false
	}
	if .Flags != .Flags {
		return false
	}
	if .Iterations != .Iterations {
		return false
	}
	if .SaltLength != .SaltLength {
		return false
	}
	if .Salt != .Salt {
		return false
	}
	if .HashLength != .HashLength {
		return false
	}
	if .NextDomain != .NextDomain {
		return false
	}
	if len(.TypeBitMap) != len(.TypeBitMap) {
		return false
	}
	for  := 0;  < len(.TypeBitMap); ++ {
		if .TypeBitMap[] != .TypeBitMap[] {
			return false
		}
	}
	return true
}

func ( *NSEC3PARAM) ( RR) bool {
	,  := .(*NSEC3PARAM)
	if ! {
		return false
	}
	_ = 
	if .Hash != .Hash {
		return false
	}
	if .Flags != .Flags {
		return false
	}
	if .Iterations != .Iterations {
		return false
	}
	if .SaltLength != .SaltLength {
		return false
	}
	if .Salt != .Salt {
		return false
	}
	return true
}

func ( *NULL) ( RR) bool {
	,  := .(*NULL)
	if ! {
		return false
	}
	_ = 
	if .Data != .Data {
		return false
	}
	return true
}

func ( *NXNAME) ( RR) bool {
	,  := .(*NXNAME)
	if ! {
		return false
	}
	_ = 
	return true
}

func ( *NXT) ( RR) bool {
	,  := .(*NXT)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.NextDomain, .NextDomain) {
		return false
	}
	if len(.TypeBitMap) != len(.TypeBitMap) {
		return false
	}
	for  := 0;  < len(.TypeBitMap); ++ {
		if .TypeBitMap[] != .TypeBitMap[] {
			return false
		}
	}
	return true
}

func ( *OPENPGPKEY) ( RR) bool {
	,  := .(*OPENPGPKEY)
	if ! {
		return false
	}
	_ = 
	if .PublicKey != .PublicKey {
		return false
	}
	return true
}

func ( *PTR) ( RR) bool {
	,  := .(*PTR)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Ptr, .Ptr) {
		return false
	}
	return true
}

func ( *PX) ( RR) bool {
	,  := .(*PX)
	if ! {
		return false
	}
	_ = 
	if .Preference != .Preference {
		return false
	}
	if !isDuplicateName(.Map822, .Map822) {
		return false
	}
	if !isDuplicateName(.Mapx400, .Mapx400) {
		return false
	}
	return true
}

func ( *RESINFO) ( RR) bool {
	,  := .(*RESINFO)
	if ! {
		return false
	}
	_ = 
	if len(.Txt) != len(.Txt) {
		return false
	}
	for  := 0;  < len(.Txt); ++ {
		if .Txt[] != .Txt[] {
			return false
		}
	}
	return true
}

func ( *RFC3597) ( RR) bool {
	,  := .(*RFC3597)
	if ! {
		return false
	}
	_ = 
	if .Rdata != .Rdata {
		return false
	}
	return true
}

func ( *RKEY) ( RR) bool {
	,  := .(*RKEY)
	if ! {
		return false
	}
	_ = 
	if .Flags != .Flags {
		return false
	}
	if .Protocol != .Protocol {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .PublicKey != .PublicKey {
		return false
	}
	return true
}

func ( *RP) ( RR) bool {
	,  := .(*RP)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Mbox, .Mbox) {
		return false
	}
	if !isDuplicateName(.Txt, .Txt) {
		return false
	}
	return true
}

func ( *RRSIG) ( RR) bool {
	,  := .(*RRSIG)
	if ! {
		return false
	}
	_ = 
	if .TypeCovered != .TypeCovered {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .Labels != .Labels {
		return false
	}
	if .OrigTtl != .OrigTtl {
		return false
	}
	if .Expiration != .Expiration {
		return false
	}
	if .Inception != .Inception {
		return false
	}
	if .KeyTag != .KeyTag {
		return false
	}
	if !isDuplicateName(.SignerName, .SignerName) {
		return false
	}
	if .Signature != .Signature {
		return false
	}
	return true
}

func ( *RT) ( RR) bool {
	,  := .(*RT)
	if ! {
		return false
	}
	_ = 
	if .Preference != .Preference {
		return false
	}
	if !isDuplicateName(.Host, .Host) {
		return false
	}
	return true
}

func ( *SIG) ( RR) bool {
	,  := .(*SIG)
	if ! {
		return false
	}
	_ = 
	if .TypeCovered != .TypeCovered {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .Labels != .Labels {
		return false
	}
	if .OrigTtl != .OrigTtl {
		return false
	}
	if .Expiration != .Expiration {
		return false
	}
	if .Inception != .Inception {
		return false
	}
	if .KeyTag != .KeyTag {
		return false
	}
	if !isDuplicateName(.SignerName, .SignerName) {
		return false
	}
	if .Signature != .Signature {
		return false
	}
	return true
}

func ( *SMIMEA) ( RR) bool {
	,  := .(*SMIMEA)
	if ! {
		return false
	}
	_ = 
	if .Usage != .Usage {
		return false
	}
	if .Selector != .Selector {
		return false
	}
	if .MatchingType != .MatchingType {
		return false
	}
	if .Certificate != .Certificate {
		return false
	}
	return true
}

func ( *SOA) ( RR) bool {
	,  := .(*SOA)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Ns, .Ns) {
		return false
	}
	if !isDuplicateName(.Mbox, .Mbox) {
		return false
	}
	if .Serial != .Serial {
		return false
	}
	if .Refresh != .Refresh {
		return false
	}
	if .Retry != .Retry {
		return false
	}
	if .Expire != .Expire {
		return false
	}
	if .Minttl != .Minttl {
		return false
	}
	return true
}

func ( *SPF) ( RR) bool {
	,  := .(*SPF)
	if ! {
		return false
	}
	_ = 
	if len(.Txt) != len(.Txt) {
		return false
	}
	for  := 0;  < len(.Txt); ++ {
		if .Txt[] != .Txt[] {
			return false
		}
	}
	return true
}

func ( *SRV) ( RR) bool {
	,  := .(*SRV)
	if ! {
		return false
	}
	_ = 
	if .Priority != .Priority {
		return false
	}
	if .Weight != .Weight {
		return false
	}
	if .Port != .Port {
		return false
	}
	if !isDuplicateName(.Target, .Target) {
		return false
	}
	return true
}

func ( *SSHFP) ( RR) bool {
	,  := .(*SSHFP)
	if ! {
		return false
	}
	_ = 
	if .Algorithm != .Algorithm {
		return false
	}
	if .Type != .Type {
		return false
	}
	if .FingerPrint != .FingerPrint {
		return false
	}
	return true
}

func ( *SVCB) ( RR) bool {
	,  := .(*SVCB)
	if ! {
		return false
	}
	_ = 
	if .Priority != .Priority {
		return false
	}
	if !isDuplicateName(.Target, .Target) {
		return false
	}
	if len(.Value) != len(.Value) {
		return false
	}
	if !areSVCBPairArraysEqual(.Value, .Value) {
		return false
	}
	return true
}

func ( *TA) ( RR) bool {
	,  := .(*TA)
	if ! {
		return false
	}
	_ = 
	if .KeyTag != .KeyTag {
		return false
	}
	if .Algorithm != .Algorithm {
		return false
	}
	if .DigestType != .DigestType {
		return false
	}
	if .Digest != .Digest {
		return false
	}
	return true
}

func ( *TALINK) ( RR) bool {
	,  := .(*TALINK)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.PreviousName, .PreviousName) {
		return false
	}
	if !isDuplicateName(.NextName, .NextName) {
		return false
	}
	return true
}

func ( *TKEY) ( RR) bool {
	,  := .(*TKEY)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Algorithm, .Algorithm) {
		return false
	}
	if .Inception != .Inception {
		return false
	}
	if .Expiration != .Expiration {
		return false
	}
	if .Mode != .Mode {
		return false
	}
	if .Error != .Error {
		return false
	}
	if .KeySize != .KeySize {
		return false
	}
	if .Key != .Key {
		return false
	}
	if .OtherLen != .OtherLen {
		return false
	}
	if .OtherData != .OtherData {
		return false
	}
	return true
}

func ( *TLSA) ( RR) bool {
	,  := .(*TLSA)
	if ! {
		return false
	}
	_ = 
	if .Usage != .Usage {
		return false
	}
	if .Selector != .Selector {
		return false
	}
	if .MatchingType != .MatchingType {
		return false
	}
	if .Certificate != .Certificate {
		return false
	}
	return true
}

func ( *TSIG) ( RR) bool {
	,  := .(*TSIG)
	if ! {
		return false
	}
	_ = 
	if !isDuplicateName(.Algorithm, .Algorithm) {
		return false
	}
	if .TimeSigned != .TimeSigned {
		return false
	}
	if .Fudge != .Fudge {
		return false
	}
	if .MACSize != .MACSize {
		return false
	}
	if .MAC != .MAC {
		return false
	}
	if .OrigId != .OrigId {
		return false
	}
	if .Error != .Error {
		return false
	}
	if .OtherLen != .OtherLen {
		return false
	}
	if .OtherData != .OtherData {
		return false
	}
	return true
}

func ( *TXT) ( RR) bool {
	,  := .(*TXT)
	if ! {
		return false
	}
	_ = 
	if len(.Txt) != len(.Txt) {
		return false
	}
	for  := 0;  < len(.Txt); ++ {
		if .Txt[] != .Txt[] {
			return false
		}
	}
	return true
}

func ( *UID) ( RR) bool {
	,  := .(*UID)
	if ! {
		return false
	}
	_ = 
	if .Uid != .Uid {
		return false
	}
	return true
}

func ( *UINFO) ( RR) bool {
	,  := .(*UINFO)
	if ! {
		return false
	}
	_ = 
	if .Uinfo != .Uinfo {
		return false
	}
	return true
}

func ( *URI) ( RR) bool {
	,  := .(*URI)
	if ! {
		return false
	}
	_ = 
	if .Priority != .Priority {
		return false
	}
	if .Weight != .Weight {
		return false
	}
	if .Target != .Target {
		return false
	}
	return true
}

func ( *X25) ( RR) bool {
	,  := .(*X25)
	if ! {
		return false
	}
	_ = 
	if .PSDNAddress != .PSDNAddress {
		return false
	}
	return true
}

func ( *ZONEMD) ( RR) bool {
	,  := .(*ZONEMD)
	if ! {
		return false
	}
	_ = 
	if .Serial != .Serial {
		return false
	}
	if .Scheme != .Scheme {
		return false
	}
	if .Hash != .Hash {
		return false
	}
	if .Digest != .Digest {
		return false
	}
	return true
}