diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+1.0.2
+
+* BUG: Fix `Applicative` instance for `Defaultable`
+  * The original instance violated the composition/associativity law for
+    `Applicative`s
+
 1.0.1
 
 * BUG FIX: `Defaultable.Map.Generalized.insert` now correctly overrides any
diff --git a/defaultable-map.cabal b/defaultable-map.cabal
--- a/defaultable-map.cabal
+++ b/defaultable-map.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               defaultable-map
-version:            1.0.1
+version:            1.0.2
 synopsis:           Applicative maps
 description:
   This package provides a `Defaultable` type constructor that
diff --git a/src/Defaultable/Map.hs b/src/Defaultable/Map.hs
--- a/src/Defaultable/Map.hs
+++ b/src/Defaultable/Map.hs
@@ -208,8 +208,8 @@
 • kf :: (a -> b) -> c
 • kx :: a -> c
 
-  `fmap` kf mf `<>` `fmap` kx mx `<>` (mf `<.>` mx)
-= `fmap` kx mx `<>` `fmap` kf mf `<>` (mf `<.>` mx)
+  (mf `<.>` mx) `<>` `fmap` kf mf `<>` `fmap` kx mx
+= (mf `<.>` mx) `<>` `fmap` kx mx `<>` `fmap` kf mf
 @
 
     … where `map` is the first type parameter that implements `Apply` and
@@ -268,7 +268,7 @@
     Defaultable fMap fDefault <*> Defaultable xMap xDefault =
         Defaultable fxMap fxDefault
       where
-        fxMap = fFallback <> xFallback <> (fMap <.> xMap)
+        fxMap = (fMap <.> xMap) <> fFallback <> xFallback
           where
             fFallback =
                 case fDefault of
