anchor.diff:  
       let createClientData () =
           {
  -            pingTime = TimeSpan.Zero
               peerConnected = Event<IUdpEndPoint> ()
               peerDisconnected = Event<IUdpEndPoint> ()
           }
  
positive.code:     | Server of IUdpServer * ServerData
      | ServerWithEndPoint of IUdpServer * IUdpEndPoint * ConnectedClientData
  
  type Peer (udp : Udp) as this =
  
      let packetPool = PacketPool 1024
  
negative.code: 
              | PacketType.Pong ->
  
                  match udp with
                  | Udp.ServerWithEndPoint (_, _, data) ->
                      data.pingTime <- time - packet.Reader.Read<TimeSpan> ()
                  | _ -> ()
  
                  packetPool.Recycle packet
  
              | PacketType.Disconnect ->
  