Sorry to resurrect a really old thread, but there seems to be no consensus or answer here. Nor has documentation appeared yet.
My specific case is a third party add-on that adds a new field with a behavior. However, it defines that field a required field: I want it optional in my implementation.
My first hunch is to subclass the schema and change it, so I'm siding with @datakurre here.
I will look at IABehavior.setTaggedValue() tho.