code: func (dnsClient *DNSClientImpl) LookupCAA(ctx context.Context, hostname string) ([]*dns.CAA, error) {
  	dnsType := dns.TypeCAA
  	r, err := dnsClient.exchangeOne(ctx, hostname, dnsType)
  	if err != nil {
  		return nil, &DNSError{dnsType, hostname, err, -1}
  	}
  
  	if r.Rcode == dns.RcodeServerFailure {
  		return nil, &DNSError{dnsType, hostname, nil, r.Rcode}
  	}
  
  	var CAAs []*dns.CAA
  	for _, answer := range r.Answer {
  		if caaR, ok := answer.(*dns.CAA); ok {
  			CAAs = append(CAAs, caaR)
  		}
  	}
  	return CAAs, nil
  }
docs: // LookupCAA sends a DNS query to find all CAA records associated with
  // the provided hostname.