Change interface to be consistent with map semantics. Now we don't maintain a list of values for a key. Change the Primitive impl. and test cases.