doing our part to reduce usage of legacyscheme.Scheme
This PR fixes oversights and adds validation that rejects writes of wrong Spec values for the four mandatory objects.