don't expose Map abstract, can cause clashes with Map type