anchor.diff:              clientNegotiated.Trigger(this, (xmppClient))
           } |> Log.TraceMe |> Async.Start
       [<CLIEventAttribute>]
  -    member x.Errors = errors.Publish
  +    member __.Errors = errors.Publish
       
       [<CLIEventAttribute>]
  -    member x.ClientNegotiated = clientNegotiated.Publish
  +    member __.ClientNegotiated = clientNegotiated.Publish
       
       [<CLIEventAttribute>]
  -    member x.ClientDisconnected = clientDisconnected.Publish
  +    member __.ClientDisconnected = clientDisconnected.Publish
       
       // This member should be protected
  -    member x.ClientExited((xmppClient : IXmppClient), (res : exn option)) = 
  +    member __.ClientExited((xmppClient : IXmppClient), (res : exn option)) =
           // remove faulted/closed connection
           async { 
               let connectTask = xmppClient.ConnectTask
  
positive.code:     member private x.MyNegotiationComplete (jid : JabberId) (xmppClient : IXmppClient) = 
          Log.Info(fun () -> L "MyNegotiationComplete")
          match pendingConnections.TryRemove(xmppClient) with
          | true, v -> 
              // negotiation completed
              try 
                  if stopToken.Token.IsCancellationRequested then failwith "Server already shut down!"
  
negative.code:                     let jid = connectTask.Result
                      let bareId = jid.BareId
                      if xmppClient.StreamType.OnClientStream then 
                          let resources = clientConnections.GetOrAdd(bareId, fun _ -> new ConcurrentDictionary<_, _>())
                          match resources.TryRemove(jid.Resource.Value, xmppClient) with
                          | true -> 
                              Log.Info(fun () -> L "removed client connection")
  