anchor.diff:                      let evt = { EcsEventData = eventData } : EcsEvent<obj, obj>
                       world <- match objCallback evt this world with null -> oldState | world -> world :?> 'w
                   | _ -> ()
  +            let mutable op = Unchecked.defaultof<_>
  +            while postCallbackOps.TryDequeue &op do
  +                match op with
  +                | :? ('w -> 'w) as op -> world <- op world
  +                | _ -> failwith "PostCallbackOp does not match 'w type of publish call."
           | (false, _) -> ()
           world
   
  
positive.code:             entityIdCurrent <- inc entityIdCurrent
              if entityIdCurrent = UInt64.MaxValue then failwith "Unbounded use of Ecs entity ids not supported."
              { EntityId = entityIdCurrent; Ecs = this }
  
      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
  
negative.code:                         match callback.EcsCallbackObj with
                          | :? EcsCallbackUnscheduled<obj, 'w> as objCallback ->
                              let evt = { EcsEventData = eventData :> obj }
                              objCallback evt this world |> ignore<'w>
                          | :? EcsCallbackUnscheduled<obj, obj> as objCallback ->
                              let evt = { EcsEventData = eventData } : EcsEvent<obj, obj>
                              objCallback evt this world |> ignore<obj>
                          | _ -> ()
              | (false, groups) ->
                  for group in groups do
  