  
  lazybytes = lazy(force_bytes, bytes)
  
  
  class customescape(six.text_type):
      def __html__(self):
          # implement specific and obviously wrong escaping
          # in order to be able to tell for sure when it runs
          return self.replace('<', '<<').replace('>', '>>')
  
 
</s> remove from django.utils import html, six, text
 </s> add from django.utils import html, text </s> remove         self.assertIsInstance(self.live_server_url_test[0], text_type)
 </s> add         self.assertIsInstance(self.live_server_url_test[0], str) </s> remove         self.assertIsInstance(normalized, six.text_type)
 </s> add  </s> remove             # Class names must be ASCII in Python 2.x, so we forcibly coerce it
            # here to break early if there's a problem.
            to = str(to)
 </s> add  </s> remove             if isinstance(ogr_type, six.integer_types) and ogr_type > 1000:
 </s> add             if isinstance(ogr_type, int) and ogr_type > 1000:
class customescape(str):
  
  lazybytes = lazy(force_bytes, bytes)
  
  
class customescape(str):
      def __html__(self):
          # implement specific and obviously wrong escaping
          # in order to be able to tell for sure when it runs
          return self.replace('<', '<<').replace('>', '>>')
  
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. 
tests/utils_tests/test_safestring.py