kitchen.collections.StrictDict provides a dictionary that treats str and unicode as distinct key values.
Map class that considers unicode and str different keys
Ordinarily when you are dealing with a dict keyed on strings you want to have keys that have the same characters end up in the same bucket even if one key is unicode and the other is a byte str. The normal dict type does this for ASCII characters (but not for anything outside of the ASCII range.)
Sometimes, however, you want to keep the two string classes strictly separate, for instance, if you’re creating a single table that can map from unicode characters to str characters and vice versa. This class will help you do that by making all unicode keys evaluate to a different key than all str keys.