partial sketch of alter() methods for Schema, Table, Column
partial sketch of alter() methods for Schema, Table, Column

These use a nochange singleton as a distinguished default value that
is distinct from all legal values that would actually be used to alter
a model definition.

The Column and Table methods cannot completely sync up the changes
since they need global access to the rest of the model. Should we add
cyclic back-pointers throughout the model hierarchy to enable this?

informatics-isi-edu/deriva-py