anchor.diff:              entityIdCurrent <- inc entityIdCurrent
               if entityIdCurrent = UInt64.MaxValue then failwith "Unbounded use of Ecs entity ids not supported."
               { EntityId = entityIdCurrent; Ecs = this }
  +
  +    /// Thread-safe.
  +    member this.RegisterPostCallbackOp (op : 'w -> 'w) =
  +        postCallbackOps.Enqueue (op :> obj)
   
       member this.Publish<'d, 'w when 'w : not struct> event (eventData : 'd) (world : 'w) : 'w =
           // NOTE: we allow some special munging with world here. The callback may choose to ignore the world and return
  
positive.code:             | _ -> failwith "Subscribed entities count mismatch."
          result
  
      member this.Notify<'d, 'w when 'w : not struct> event (eventData : 'd) =
          let event = { event with EcsEventName = event.EcsEventName + Constants.Ecs.ScheduledEventSuffix }
          match subscriptions.TryGetValue event with
          | (true, callbacks) ->
              let dependentCallbacks = List ()
  
negative.code:     let componentTypes = ConcurrentDictionary<string, Type> StringComparer.Ordinal
      let subscriptions = dictPlus<EcsEvent, Dictionary<uint32, obj>> HashIdentity.Structural []
      let subscribedEntities = dictPlus<EcsEntity, int> HashIdentity.Structural []
      let postCallbackOps = ConcurrentQueue<obj> ()
      let queries = List<Query> ()
  
      let createArchetype (archetypeId : ArchetypeId) =
  