docs: def stringer(x):
      """
      Takes an object and makes it stringy
      >>> print(stringer({'a': 1, 2: 3, 'b': [1, 'c', 2.5]}))
      {'b': ['1', 'c', '2.5'], 'a': '1', '2': '3'}
      """
      if isinstance(x, string_types):
          return x
      if isinstance(x, (list, tuple)):
          return [stringer(y) for y in x]
      if isinstance(x, dict):
          return dict((stringer(a), stringer(b)) for a, b in x.items())
      return text_type(x)