These reason codes have names which differ from one section to another:
17 - No subscription existed (table 2-6) No subscription found (table 3-9)
162 - Wildcard Subscription not supported (table 2-6) Wildcard subscriptions not supported (table 3-10) (I prefer the latter)
These are minor name suggestions for consistency:
158 - Shared Subscription not supported (tables 2-6 and 158) should be Shared Subscriptions, I think.
16 - No matching subscribers. (tables 3-4 puback 3-6 pubrec) - erroneous trailing full stop