Add "readOnly" columns

These columns are ignored on updates
Refactoring, and smarter array-type-checks