Is ```i``` a field ordinal? Why don't use strings and keep the fields in a ordered dictionary instead?