made record class less restrictive

No longer cares if record has the field you're trying to set, and no
longer has a concept of an unmodifiable field. Allows a lot of code to
be eliminated in classes that extend record.