Implement the Map type