code: func IsBadPointerKeyError(err error) bool {
  	if e, ok := err.(interface {
  		BadPointerKeyError() bool
  	}); ok {
  		return e.BadPointerKeyError()
  	}
  
  	if parent := parentOf(err); parent != nil {
  		return IsBadPointerKeyError(parent)
  	}
  	return false
  }
docs: // IsBadPointerKeyError indicates that the parsed data has an invalid key.