docs: def datetime_decoder(dct):
      """Decode datetimes to python objects.
      """
      if isinstance(dct, list):
          pairs = enumerate(dct)
      elif isinstance(dct, dict):
          pairs = dct.items()
      result = []
      for key, val in pairs:
          if isinstance(val, six.string_types):
              try:
                  val = strp_isoformat(val)
              except ValueError:
                  pass
          elif isinstance(val, (dict, list)):
              val = datetime_decoder(val)
          result.append((key, val))
      if isinstance(dct, list):
          return [x[1] for x in result]
      elif isinstance(dct, dict):
          return dict(result)