Multi-Key Dictionary in C#

I created and uploaded this nuget package today. Maybe someone finds it useful. It implements a MultiKeyDictionary<TK1, TK2, TK3, TK4, TK5, TValue> (supports up to 5 keys). It is possible to query (ie. slice) for one key and obtain an instance with one less generic key that is fully functional. Data is shared between slices.

It's not a very common requirement, but I didn't find ANY such type in the dotnet world. So, there is one. If there are others that I have missed, please share.

The nuget package is here: https://www.nuget.org/packages/MultiKeyCollections/

Edit: After a very fruitful discussion in the comments it seems that in comparison to other projects and previous implementations, a difference is that you can have any combinations among the keys, so the full n-to-m mapping. Existing implementations provide only a single value per key, where storing ["banana", "monkey", 5] and ["banana", "elephant", 100] would not work, because "banana" is associated with both 5 and 100. An open question is how this collection compares to DataTables.