docs: def drop_index(self, index_or_name):
          """Drops the specified index on this collection.
  
          Can be used on non-existant collections or collections with no
          indexes.  Raises OperationFailure on an error (e.g. trying to
          drop an index that does not exist). `index_or_name`
          can be either an index name (as returned by `create_index`),
          or an index specifier (as passed to `create_index`). An index
          specifier should be a list of (key, direction) pairs. Raises
          TypeError if index is not an instance of (str, unicode, list).
  
          .. warning::
  
            if a custom name was used on index creation (by
            passing the `name` parameter to :meth:`create_index` or
            :meth:`ensure_index`) the index **must** be dropped by name.
  
          :Parameters:
            - `index_or_name`: index (or name of index) to drop
  
          .. note:: The :attr:`~pymongo.collection.Collection.write_concern` of
             this collection is automatically applied to this operation when using
             MongoDB >= 3.4.
  
          .. versionchanged:: 3.4
             Apply this collection's write concern automatically to this operation
             when connected to MongoDB >= 3.4.
  
          """
          name = index_or_name
          if isinstance(index_or_name, list):
              name = helpers._gen_index_name(index_or_name)
  
          if not isinstance(name, string_type):
              raise TypeError("index_or_name must be an index name or list")
  
          self.__database.client._purge_index(
              self.__database.name, self.__name, name)
          cmd = SON([("dropIndexes", self.__name), ("index", name)])
          with self._socket_for_writes() as sock_info:
              self._command(sock_info,
                            cmd,
                            read_preference=ReadPreference.PRIMARY,
                            allowable_errors=["ns not found"],
                            write_concern=self.write_concern,
                            parse_write_concern_error=True)