diff --git a/Data/Map/Class.hs b/Data/Map/Class.hs
--- a/Data/Map/Class.hs
+++ b/Data/Map/Class.hs
@@ -97,7 +97,7 @@
 
 instance (Map m, Map n) => Map (Compose m n) where
     empty = Compose empty
-    alterF f (i, j) = fmap Compose . alterF (maybe (Nothing <$ f Nothing) (fmap Just . alterF f j)) i . getCompose
+    alterF f (i, j) = fmap Compose . alterF (maybe (fmap (singleton j) <$> f Nothing) (fmap Just . alterF f j)) i . getCompose
     mergeA f =
         fmap Compose ∘∘
         compose2 (mergeA $ \ i ->
diff --git a/Map.cabal b/Map.cabal
--- a/Map.cabal
+++ b/Map.cabal
@@ -1,5 +1,5 @@
 name:                Map
-version:             0.1.3.0
+version:             0.1.3.1
 synopsis:            Class of key-value maps
 -- description:
 license:             BSD3
