anchor.diff:                  | None -> None
               let shouldWriteProperty = fun propertyName propertyType (propertyValue : obj) ->
                   if propertyName = "OverlayNameOpt" && propertyType = typeof<string option> then
  -                    let defaultOverlayNameOpt = Option.flatten (World.tryFindRoutedOverlayNameOpt entityDispatcherName world)
  +                    let defaultOverlayNameOpt = World.getEntityDefaultOverlayName entityDispatcherName world
                       defaultOverlayNameOpt <> (propertyValue :?> string option)
                   else
                       match overlaySymbolsOpt with
  
positive.code:                 World.updateEntityState (EntityState.detachProperty propertyName) alwaysPublish nonPersistent true propertyName entity world
              else failwith ("Cannot detach entity property '" + propertyName + "'; entity '" + entity.EntityName + "' is not found.")
  
          static member internal getEntityBoundsMax entity world =
              let entityState = World.getEntityState entity world
              World.getEntityStateBoundsMax entityState
  
negative.code:                         | None -> failwith ("Could not find an EntityDispatcher named '" + dispatcherName + "'. Did you forget to provide this dispatcher from your NuPlugin?")
                      (dispatcherName, dispatcher)
  
              // get the default overlay name option
              let defaultOverlayNameOpt = World.getEntityDefaultOverlayName dispatcherName world
  
              // make the bare entity state with name as id
              let entityState = EntityState.make None defaultOverlayNameOpt dispatcher
  
              // attach the entity state's intrinsic facets and their properties
              let entityState = World.attachIntrinsicFacetsViaNames entityState world
  
              // read the entity state's overlay and apply it to its facet names if applicable
              let entityState = Reflection.tryReadOverlayNameOptToTarget EntityState.copy entityDescriptor.EntityProperties entityState
              let entityState = if Option.isNone entityState.OverlayNameOpt then { entityState with OverlayNameOpt = defaultOverlayNameOpt } else entityState
              let entityState =
                  match (defaultOverlayNameOpt, entityState.OverlayNameOpt) with
                  | (Some defaultOverlayName, Some overlayName) -> Overlayer.applyOverlayToFacetNames EntityState.copy defaultOverlayName overlayName entityState overlayer overlayer
                  | (_, _) -> entityState
  
              // read the entity state's facet names
  