Description
Tracked down the issue to RecreatableObjectFacetForXmlRootElementAnnotation being installed, and then DisabledFacetOn
{Property|Collection}DerivedFromRecreatableObject being installed even if the RecreatableObjectFacet sometimes returns null (for JAXB elements, and if implements ViewModelFacet.Cloneable).
Solution: rather than rely on ViewModelFacet#isCloneable(Object), which works at the object level, instead introduce a new ViewModelFacet#inferImmutable(), which acts at the class level, and from this be able to figure out if the DisabledFacet thus installed has inverted semantics.