immutability and syntactic sugar for hashmaps added
empty? usage eliminated from core