docs: def _cast_value(self, value):
          """Internal method that makes sure every value in dictionary
          is properly cast into the correct types, instead of
          just treating everything like a string from the csv file.
  
          Args:
              value : The value to be casted
  
          Returns:
              A casted Value.
          """
          # Try to convert to a datetime (if requested)
          if (self.convert_datetimes):
              try:
                  date_time = datetime.datetime.fromtimestamp(float(value))
                  if datetime.datetime(1970, 1, 1) > date_time:
                      raise ValueError
                  else:
                      return date_time
  
              # Next try a set of primitive types
              except ValueError:
                  pass
  
          # Try conversion to basic types
          tests = (int, float, str)
          for test in tests:
              try:
                  return test(value)
              except ValueError:
                  continue
          return value