Factor out readStructColumns
Support nested fields in embedded structs