      ptr_type = WKT_READ_PTR
      destructor = wkt_reader_destroy
  
      def read(self, wkt):
          if not isinstance(wkt, (bytes, six.string_types)):
              raise TypeError
          return wkt_reader_read(self.ptr, force_bytes(wkt))
  
  
  class _WKBReader(IOBase):
 
</s> remove         elif isinstance(wkb, (bytes, six.string_types)):
 </s> add         elif isinstance(wkb, (bytes, str)): </s> remove     if not isinstance(stream_or_string, (bytes, six.string_types)):
 </s> add     if not isinstance(stream_or_string, (bytes, str)): </s> remove         if not isinstance(index, (slice,) + six.integer_types):
 </s> add         if not isinstance(index, (int, slice)): </s> remove             is_candidate = isinstance(obj, (bytes, six.string_types)) or hasattr(obj, '__geo_interface__')
 </s> add             is_candidate = isinstance(obj, (bytes, str)) or hasattr(obj, '__geo_interface__') </s> remove         elif isinstance(source_srs, (int, six.string_types)):
 </s> add         elif isinstance(source_srs, (int, str)):
        if not isinstance(wkt, (bytes, str)):
      ptr_type = WKT_READ_PTR
      destructor = wkt_reader_destroy
  
      def read(self, wkt):
        if not isinstance(wkt, (bytes, str)):
              raise TypeError
          return wkt_reader_read(self.ptr, force_bytes(wkt))
  
  
  class _WKBReader(IOBase):
keep keep keep keep replace keep keep keep keep keep
 Refs #23919 -- Removed six.<various>_types usage

Thanks Tim Graham and Simon Charette for the reviews. 
django/contrib/gis/geos/prototypes/io.py