anchor.diff:              (subscriptionAddress, unsubscribe, world)
           { ObserverAddress = stream.ObserverAddress; Subscribe = subscribe }
   
  +    /// TODO: document!
       let track2
           (tracker : 'a -> Event<'a, 'o> -> World -> 'a * bool)
           (stream : EventStream<'a, 'o>) :
  
positive.code:             oldValue <> newValue)
              stream
  
      let observeWorldStateValue valueGetter observerAddress =
          observe WorldStateChangeEventAddress observerAddress |>
          worldStateValue valueGetter
  
      let observeWorldStateValueCyclic valueGetter observerAddress =
          observeWorldStateValue valueGetter observerAddress |>
          noMoreThanOncePerTick
  
      let observeSimulantValue (valueGetter : 'a -> 'b) (simulantAddress : 'a Address) (observerAddress : 'o Address) =
          let changeEventAddress = Address.changeType<Simulant SimulantChangeData, 'a SimulantChangeData> SimulantChangeEventAddress ->>- simulantAddress
          observe changeEventAddress observerAddress |>
          simulantValue valueGetter
  
      let observeSimulantValueCyclic valueGetter simulantAddress observerAddress =
          observeSimulantValue valueGetter simulantAddress observerAddress |>
          noMoreThanOncePerTick
  
negative.code:             (subscriptionAddress, unsubscribe, world)
          { ObserverAddress = stream.ObserverAddress; Subscribe = subscribe }
  
      /// Map an event stream's events by the 'mapper' procedure.
      let map (mapper : Event<'a, 'o> -> World -> 'b) (stream : EventStream<'a, 'o>) : EventStream<'b, 'o> =
          let subscribe = fun world ->
              let subscriptionKey = World.makeSubscriptionKey ()
  