add compilation of PersistentHashMap, fix printing of PersistentHashMap, work on defmacro