anchor.diff:      | SSL_3p0 ->
           (* TODO *) Error(HSError(AD_internal_error),HSSendAlert)
   
  -let CCSBytes = [| 1uy |] 
  -
   (* Obsolete. Use PRFs.prfKeyExp instead *)
   (*
   let expand_master_secret version ms crandom srandom nb = 
  
positive.code: /// Handshake message format 
  
  let makeMessage ht data = htbytes ht @| vlbytes 3 data 
  
  let parseMessage state =
      (* Inefficient but simple implementation:
  
negative.code: 
  let makeCCSFragment ki b = makeFragment ki b
  
  let generateStates (ci:ConnectionInfo) (ms:masterSecret): StatefulAEAD.writer * StatefulAEAD.reader =
      let key_block = prfKeyExp ci ms in
      let (cWrite,sWrite) = splitStates ci key_block in
      match ci.role with 
          | Client -> cWrite,sWrite
          | Server -> sWrite,cWrite
  
  let next_fragment ci state =
      match state.hs_outgoing with
      | [||] ->
          match state.pstate with
          | PSClient(cstate) ->
              match cstate with
              | ClientWritingCCS (si,ms,afterCCS,log) ->
                  let nextEpochOut = nextEpoch ci.id_out si.init_crand si.init_srand (epochCVerifyData ci.id_out) (epochSVerifyData ci.id_out) si in
                  let nextEpochIn  = nextEpoch ci.id_in  si.init_crand si.init_srand (epochCVerifyData ci.id_in ) (epochSVerifyData ci.id_in ) si in
                  let (writer,reader) = generateStates {role = ci.role; id_in = nextEpochIn; id_out = nextEpochOut} ms in
                  let state = {state with hs_outgoing = afterCCS
                                          pstate = PSClient(ServerCCS(si,ms,nextEpochOut,reader,log))} in
                  let (((rg,f),_),_) = makeCCSFragment ci.id_out CCSBytes in
                  let ci = {ci with id_out = nextEpochOut} in 
                  OutCCS(rg,f,ci,writer,state)
              | _ -> unexpectedError "TODO"
          | _ -> unexpectedError "TODO"
      | _ -> unexpectedError "TODO"
  
      (* Assumptions: The buffers have been filled in the following order:
         1) hs_outgoing; 2) ccs_outgoing; 3) hs_outgoing_after_ccs
  