fn derive_column_type( seen_messages: &mut BTreeSet<String>, field: &FieldDescriptor, ) -> Result<ColumnType, Error>