CSV needs a dimension column convention. Went with d000, d001, ..., dNNN. Zero-padded, three digits. Not pretty, not ambiguous. You see d000 in a CSV header and you know what it is. Any column that doesn't match the pattern is metadata.
Also wired up Feather with zstd compression while I was in there. Feather already supports it natively so this was just flipping the flag on write and making sure the reader handled it. 5 minutes of actual work after an hour of reading the Arrow docs to make sure I wasn't missing something.
