anchor.diff:  ensure_binary(empty) -> empty. % for test purposes
   
   properties(undefined) ->
  -    <<0:16>>;
  +    <<0:8>>;
   properties([]) ->
  -    <<0:16>>.
  +    <<0:8>>.
   
   %%%%%%% packet generator functions (useful for testing)
   gen_connect(ClientId, Opts) ->
  
positive.code: -include("vmq_parser_mqtt5.hrl").
  
  -spec parse(binary()) -> {mqtt5_frame(), binary()} |
                           {error, {reason_type, reason_type()}} |
                           more.
  parse(Data) ->
      parse(Data, ?MAX_PACKET_SIZE).
  
negative.code: %%     #mqtt5_disconnect{};
  variable(_, _) ->
      %% Covers: MQTT5-3.1.2.3
      {error,  cant_parse_varint}.
  
  parse_will_properties(Rest0, Flags, Conn0) ->
      case parse_properties(Rest0) of
  