anchor.diff:  -record(mqtt5_connack, {
             session_present   :: flag(),
             reason_code       :: reason_code(),
  -          properties=#{}    :: map()
  +          properties=#{}    :: mqtt5_properties()
            }).
   -type mqtt5_connack()       :: #mqtt5_connack{}.
   
  
positive.code:                                 ?M5_TOPIC_FILTER_INVALID |
                                  ?M5_PACKET_ID_IN_USE |
                                  ?M5_QUOTA_EXCEEDED],
            properties=#{}     :: map()
           }).
  -type mqtt5_unsuback()      :: #mqtt5_unsuback{}.
  
  
negative.code:                                ?M5_MAX_CONNECT_TIME |
                                 ?M5_SUBSCRIPTION_IDS_NOT_SUPPORTED |
                                 ?M5_WILDCARD_SUBS_NOT_SUPPORTED,
            properties=#{}     :: mqtt5_properties()
           }).
  -type mqtt5_disconnect()    :: #mqtt5_disconnect{}.
  
  