anchor.diff:  
       type Key = int
   
  +
  +    // State for keyboard listener: which keys are pressed, whether the listener
  +    // is active, and the last key that has been presed
       type KeyListenerSt =
           {
               KeysPressed : Var<Key list>
  
positive.code:             Right = Var.Create false
          }
  
      let ActivateButtonListener =
          let buttonListener (evt: Dom.MouseEvent) down =
              match evt.Button with
  
negative.code:         static member Position =
  
              let onMouseMove (evt: Dom.Event) =
                  // We know this is a mouse event, so safe to downcast
                  let mEvt = evt :?> Dom.MouseEvent
                  Var.Set MousePosSt.PosV (mEvt.ClientX, mEvt.ClientY)
  
              // Add the mouse movement event if it's not there already.
              if not MousePosSt.Active then
                  Dom.Document.Current.AddEventListener("mousemove", onMouseMove, false)
                  MousePosSt.Active <- true
  