Implement generic map
Current map (LWWMap, MVMap) only supports String keys and 4 types of values (boolean, double, integer and string). For some basic operations (get, set, delete, iterator), we have 1 function for each type.
Map: 4 iterators × { LWWmap,MVRmap,Pcounter } ⟶ can’t implement generic iterator interface.
Problem: Making parameterized types work with Kotlin serialization is complicated.
Current Kotlin Serialization version: 1.4.10