anchor.diff:  process_supported_versions_extension(<<?UINT16(?SUPPORTED_VERSIONS_EXT), ?UINT16(Len),
                                          ExtData:Len/binary, _Rest/binary>>,
                                        LocalVersion, _LegacyVersion) when Len > 2 ->
  -    <<?UINT16(_),Versions0/binary>> = ExtData,
  +    <<?BYTE(_),Versions0/binary>> = ExtData,
       [Highest|_] = decode_versions(Versions0),
       if Highest =< LocalVersion ->
               Highest;
  
positive.code: 
  decode_extensions(<<?UINT16(?SUPPORTED_VERSIONS_EXT), ?UINT16(Len),
                         ExtData:Len/binary, Rest/binary>>, Version, MessageType, Acc) when Len > 2 ->
      <<?UINT16(_),Versions/binary>> = ExtData,
      decode_extensions(Rest, Version, MessageType,
                        Acc#{client_hello_versions =>
                                 #client_hello_versions{
  
negative.code: encode_extensions([#client_hello_versions{versions = Versions0} | Rest], Acc) ->
      Versions = encode_versions(Versions0),
      VerLen = byte_size(Versions),
      Len = VerLen + 1,
      encode_extensions(Rest, <<?UINT16(?SUPPORTED_VERSIONS_EXT),
                                ?UINT16(Len), ?BYTE(VerLen), Versions/binary, Acc/binary>>);
  encode_extensions([#server_hello_selected_version{selected_version = Version0} | Rest], Acc) ->
      Version = encode_versions([Version0]),
      Len = byte_size(Version), %% 2
  