      kwargs = kwargs or {}
  
      prefix = get_script_prefix()
  
      if not isinstance(viewname, six.string_types):
          view = viewname
      else:
          parts = viewname.split(':')
          parts.reverse()
          view = parts[0]
 
</s> remove     def test_reverse_returns_unicode(self):
        name, expected, args, kwargs = test_data[0]
        self.assertIsInstance(
            reverse(name, args=args, kwargs=kwargs),
            six.text_type
        )

 </s> add  </s> remove         conn.encoders[SafeText] = conn.encoders[six.text_type]
 </s> add         conn.encoders[SafeText] = conn.encoders[str] </s> remove         if isinstance(value, six.string_types):
 </s> add         if isinstance(value, str): </s> remove             if isinstance(reply_to, six.string_types):
 </s> add             if isinstance(reply_to, str): </s> remove             if (isinstance(dim, six.string_types) and 'Z' in dim) or dim == 3:
 </s> add             if (isinstance(dim, str) and 'Z' in dim) or dim == 3:
    if not isinstance(viewname, str):
      kwargs = kwargs or {}
  
      prefix = get_script_prefix()
  
    if not isinstance(viewname, str):
          view = viewname
      else:
          parts = viewname.split(':')
          parts.reverse()
          view = parts[0]
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/urls/base.py