code: def remove(self, key):
          
          check_not_none(key, "key can't be None")
          key_data = self._to_data(key)
          return self._remove_internal(key_data)
docs: Removes the mapping for a key from this map if it is present. The map will not contain a mapping for the
          specified key once the call returns.
  
          **Warning: This method uses __hash__ and __eq__ methods of binary form of the key, not the actual implementations
          of __hash__ and __eq__ defined in key's class.**
  
          :param key: (object), key of the mapping to be deleted.
          :return: (object), the previous value associated with key, or ``None`` if there was no mapping for key.