title: Map data structure implementation
body: <p>What's the problem w this <code>Functor</code> instance?</p>
  
  <pre><code>data Map k v = Map [(k, v)] deriving (Show, Eq)
  
  instance Functor (Map a) where
    fmap _ (Map []) = Map []
    fmap f (Map xs) = Map xs'
      where xs' = map (\(k, v) -&gt; (f k, v)) xs
  </code></pre>