anchor.diff:                      facetPropertyDefinitions
               else false
   
  -        static member private getFacetNamesToAdd oldFacetNames newFacetNames =
  -            Set.difference newFacetNames oldFacetNames
  -
  -        static member private getFacetNamesToRemove oldFacetNames newFacetNames =
  -            Set.difference oldFacetNames newFacetNames
  -
           static member private getEntityPropertyDefinitionNamesToDetach entityState facetToRemove =
   
               // get the property definition name counts of the current, complete entity
  
positive.code:                     match World.trySynchronizeFacetsToNames entityState.FacetNames entityState (Some entity) world with
                      | Right (entityState, world) -> (entityState, world)
                      | Left error -> Log.debug error; (entityState, world)
                  let facetNames = World.getEntityFacetNamesReflectively entityState
                  let entityState = Overlayer.applyOverlay EntityState.copy oldOverlayName overlayName facetNames entityState overlayer
                  let oldWorld = world
                  let world = World.setEntityState entityState entity world
  
negative.code:                     defaultOptOverlayName <> (propertyValue :?> string option)
                  else
                      let overlayer = World.getOverlayer world
                      let facetNames = World.getFacetNamesReflectively entityState
                      Overlayer.shouldPropertySerialize5 facetNames propertyName propertyType entityState overlayer
              let getEntityProperties = Reflection.writePropertiesFromTarget shouldWriteProperty entityDescriptor.EntityProperties entityState
              { entityDescriptor with EntityProperties = getEntityProperties }
  