anchor.diff:      | _ -> None
   
   let checkServerResumptionInfoExtension config (sExtL: serverExtension list) cVerifyData sVerifyData =
  -    if config.safe_resumption then
  -        match List.tryPick isServerResumptionInfo sExtL with
  -        | None -> false
  -        | Some(x) ->
  -            let (cvd,svd) = x in
  -            equalBytes (cvd @| svd) (cVerifyData @| sVerifyData)
  -    else
  -        true
  +    match List.tryPick isServerResumptionInfo sExtL with
  +    | None -> not (config.safe_resumption)
  +    | Some(x) ->
  +        let (cvd,svd) = x in
  +        equalBytes (cvd @| svd) (cVerifyData @| sVerifyData)
   
   (* SignatureAndHashAlgorithm parsing functions *)
   let sigHashAlgBytes alg =
  
positive.code:     | _ -> None
  
  let checkServerRenegotiationInfoExtension config (sExtL: serverExtension list) cVerifyData sVerifyData =
      if config.safe_renegotiation then
          match List.tryPick isServerRenegotiationInfo sExtL with
          | None -> false
          | Some(x) ->
              let (cvd,svd) = x in
              equalBytes (cvd @| svd) (cVerifyData @| sVerifyData)
      else
          true
  
  let isClientResumptionInfo e =
      match e with
  
negative.code:     | _ -> None
  
  let checkClientRenegotiationInfoExtension config (cExtL: clientExtension list) cVerifyData =
      match List.tryPick isClientRenegotiationInfo cExtL with
      | None -> not (config.safe_renegotiation)
      | Some(payload) -> equalBytes payload cVerifyData
  
  let isServerRenegotiationInfo e =
      match e with
  