FilterMap library

Classes

FilterMap<K, V>
(Translated from Python, may be phrased a little weird.) Addressed by lists. size is size of list.
Get can contain Nones.
Set can contain Nones, but it's not recommended - I suspect it'll be a little messy.
getExact returns a single entry, or throws.
getFilter returns a list of matching entries.
Get performs getExact or getFilter, depending on whether the key contains Nones.

fm = FilterMap(3)
fm(0,0,0) = 0
fm(0,0,1) = 1
fm(0,1,0) = 2
fm(0,1,1) = 3
fm(1,0,0) = 4
fm(1,0,1) = 5
fm(1,1,0) = 6
fm(1,1,1) = 7

fm(1,1,1) # = 7
fm(1,1,None) # = 6, 7

I abandoned fast-lookup; now if the key contains Nones it iterates the map. Sigh.
...I probably shouldn't put commentary in my documentation.