docs: def has_symbol(self, symbol, as_of=None):
          """
          Return True if the 'symbol' exists in this library AND the symbol
          isn't deleted in the specified as_of.
  
          It's possible for a deleted symbol to exist in older snapshots.
  
          Parameters
          ----------
          symbol : `str`
              symbol name for the item
          as_of : `str` or int or `datetime.datetime`
              Return the data as it was as_of the point in time.
              `int` : specific version number
              `str` : snapshot name which contains the version
              `datetime.datetime` : the version of the data that existed as_of the requested point in time
          """
          try:
              # Always use the primary for has_symbol, it's safer
              self._read_metadata(symbol, as_of=as_of, read_preference=ReadPreference.PRIMARY)
              return True
          except NoDataFoundException:
              return False