anchor.diff:              let conn = doHS conn
               wrapWrite conn msg
   
  +    let mutable conn =
  +        let tcpStream = Tcp.create s
  +        let conn =
  +            match b with
  +            | TLSClient ->
  +                match sessionID with
  +                | None -> TLS.connect tcpStream options
  +                | Some(id) -> TLS.resume tcpStream id options
  +            | TLSServer -> TLS.accept_connected tcpStream options
  +        doHS conn
  +
       member self.GetSessionInfo () =
  -        if closed then
  +        if closed || disposed then
               raise (ObjectDisposedException("Trying to get SessionInfo on a closed connection."))
           else
               (* We could also pick the outgoing epoch.
  
positive.code:                 | TLS.DontWrite conn -> wrapRead conn
              else
                  TLS.refuse conn q
                  raise (IOException(sprintf "TLS-HS: Asked to authorize a certificate"))
          | TLS.Handshaken conn -> wrapRead conn
          | TLS.Read (conn,msg) ->
              let read = undoMsg_i conn msg in
              if equalBytes read empty_bytes then
  
negative.code:                 | TLS.DontWrite conn -> doHS conn
              else
                  TLS.refuse conn q
                  closed <- true
                  raise (IOException(sprintf "TLS-HS: Refusing untrusted certificate"))
          | TLS.Handshaken conn -> closed <- false; conn
          | TLS.Read (conn,msg) ->
  