docs: def capitalize_keys(suspect):
      """
      :param suspect:
      :return new dict with capitalized keys:
      """
      if not isinstance(suspect, dict):
          raise TypeError('you must pass a dict.')
  
      converted = {}
  
      for key in list(suspect):
          if not isinstance(key, six.string_types):
              continue
  
          if key[0].isupper():
              continue
  
          if '_' in key:
              new_key = ''.join([chunk.capitalize() for index, chunk in enumerate(key.split('_'))])
          else:
              new_key = key.capitalize()
  
          value = suspect.get(key)
          if type(value) is dict:
              converted[new_key] = capitalize_keys(value)
          elif type(value) is list:
              converted[new_key] = [capitalize_keys(x) if isinstance(x, dict) else x for x in value]
          else:
              converted[new_key] = value
  
      return converted