anchor.diff:                                let closed = closeConnection (Conn(id,c)) in
                                 (RError(EInternal(x,y)),closed) // TODO: We might want to send some alert here.
   
  -                  | Alert, x when x = Init || x = FirstHandshake || x = Open ->
  +                  | (Alert, Init) | (Alert, FirstHandshake(_)) | (Alert, Open) ->
                           match Alert.recv_fragment id c.alert rg f with
                             | Correct (Alert.ALAck(state)) ->
                                 let c = {c with read = c_read;
  
positive.code:                                     | _ -> 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 ->
                          match Handshake.recv_ccs id c.handshake rg f with 
                            | InCCSAck(nextID,nextR,hs) ->
                                let nextRCS = Record.initConnState nextID.id_in nextR 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) ->
  