We want to write an algorithm once and allow it to work on a variety of columns.
The kinds of columns include:
- Elements are fixed-width types (int8, int32, float, double, date32, timestamp, etc.)
- Elements are variable length (strings, …)
- “Dictionary” columns
- Elements in the column are indices into a dictionary
- Elements are fixed-size structs