anchor.diff:                                      | _ -> let closed = closeConnection (Conn(id,c)) in (RError(EInternal(Dispatcher,InvalidState)),closed) (* TODO: We might want to send some alert here. *)
                           | Handshake.InError(x,y,hs) -> let c = {c with handshake = hs} in (RError(EInternal(x,y)),Conn(id,c)) (* TODO: we might need to send some alerts *)
   
  -                  | Change_cipher_spec, x when x = FirstHandshake || x = Open ->
  +                  | (Change_cipher_spec, FirstHandshake(_)) | (Change_cipher_spec, Open) ->
                           match Handshake.recv_ccs id c.handshake rg f with 
                             | InCCSAck(nextID,nextR,hs) ->
                                 let nextRCS = Record.initConnState nextID.id_in nextR in
  
positive.code:                                     (RQuery(query),Conn(id,c))
                          | Handshake.InFinished(hs) ->
                                  (* Ensure we are in Finishing state *)
                                  match x with
                                      | Finishing ->
                                          let c = {c with read = c_read;
                                                          handshake = hs} in
  
negative.code:             | Closed -> (RError(EInternal(Dispatcher,InvalidState)),Conn(id,c))
              | _ ->
                  match (ct,c_read.disp) with 
                    | (Handshake, Init) | (Handshake, FirstHandshake(_)) | (Handshake, Finishing) | (Handshake, Open) ->
                        let c_hs = c.handshake in
                          match Handshake.recv_fragment id c_hs rg f with
                          | Handshake.InAck(hs) ->
  