code: def process_column(self, column):
          
          processed_column = DatasetColumn(
              name=self.get_or_fail(column, 'name'),
              description=self.get_or_default(column, 'description', ''))
          if 'type' in column:
              original_type = column['type'].lower()
              processed_column.original_type = original_type
              if (original_type == 'string' or original_type == 'date'
                      or original_type == 'time' or original_type == 'yearmonth'
                      or original_type == 'duration'
                      or original_type == 'geopoint'
                      or original_type == 'geojson'):
                  processed_column.type = 'string'
              elif (original_type == 'numeric' or original_type == 'number'
                    or original_type == 'year'):
                  processed_column.type = 'numeric'
              elif original_type == 'boolean':
                  processed_column.type = 'boolean'
              elif original_type == 'datetime':
                  processed_column.type = 'datetime'
              else:
                  # Possibly extended data type - not going to try to track those
                  # here. Will set the type and let the server handle it.
                  processed_column.type = original_type
          return processed_column
docs: process a column, check for the type, and return the processed
              column
               Parameters
              ==========
              column: a list of values in a column to be processed