diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for env-guard
 
+## 0.2 -- 2022-07-02
+
+* Rename `guardExpected` functions to `guardEquals` to better match ExpectEnv type.
+
 ## 0.1.1 -- 2022-07-01
 
 * Add higher-level `withGuard` combinator.
diff --git a/env-guard.cabal b/env-guard.cabal
--- a/env-guard.cabal
+++ b/env-guard.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               env-guard
-version:            0.1.1
+version:            0.2
 license:            MIT
 license-file:       LICENSE
 tested-with:        GHC ==8.10.7 || ==9.0.2 || ==9.2.3
diff --git a/src/System/Environment/Guard.hs b/src/System/Environment/Guard.hs
--- a/src/System/Environment/Guard.hs
+++ b/src/System/Environment/Guard.hs
@@ -19,8 +19,8 @@
     guardSet_,
 
     -- ** Checking environment variable match
-    guardExpected,
-    guardExpected_,
+    guardEquals,
+    guardEquals_,
 
     -- ** Checking environment variable predicate
     guardPredicate,
@@ -144,38 +144,38 @@
 guardSet_ :: String -> IO a -> IO ()
 guardSet_ = Lifted.guardSet_
 
--- | @'guardExpected' var expected io@ runs @io@ iff
+-- | @'guardEquals' var expected io@ runs @io@ iff
 --
 -- 1. The environment variable @var@ is set.
 -- 2. @var@'s value equals @expected@. This is __case-insensitive__.
 --
 -- @
--- 'guardExpected' var expected === 'guardPredicate' var (\\a b -> 'fmap' 'Data.Char.toLower' a == 'fmap' 'Data.Char.toLower' b)
+-- 'guardEquals' var expected === 'guardPredicate' var (\\a b -> 'fmap' 'Data.Char.toLower' a == 'fmap' 'Data.Char.toLower' b)
 -- @
 --
 -- ==== __Examples__
 --
--- >>> guardExpected "NOT_SET" "val" (putStrLn "ran io" $> True)
+-- >>> guardEquals "NOT_SET" "val" (putStrLn "ran io" $> True)
 -- Nothing
 --
 -- >>> setEnv "WRONG_VAL" "good_val"
--- >>> guardExpected "WRONG_VAL" "bad_val" (putStrLn "ran io" $> True)
+-- >>> guardEquals "WRONG_VAL" "bad_val" (putStrLn "ran io" $> True)
 -- Nothing
 --
 -- >>> setEnv "WILL_RUN" "val"
--- >>> guardExpected "WILL_RUN" "VAL" (putStrLn "ran io" $> True)
+-- >>> guardEquals "WILL_RUN" "VAL" (putStrLn "ran io" $> True)
 -- ran io
 -- Just True
 --
--- @since 0.1
-guardExpected :: String -> String -> IO a -> IO (Maybe a)
-guardExpected = Lifted.guardExpected
+-- @since 0.2
+guardEquals :: String -> String -> IO a -> IO (Maybe a)
+guardEquals = Lifted.guardEquals
 
--- | Variant of 'guardExpected_' that ignores the return value.
+-- | Variant of 'guardEquals_' that ignores the return value.
 --
--- @since 0.1
-guardExpected_ :: String -> String -> IO a -> IO ()
-guardExpected_ = Lifted.guardExpected_
+-- @since 0.2
+guardEquals_ :: String -> String -> IO a -> IO ()
+guardEquals_ = Lifted.guardEquals_
 
 -- | Variant of 'guardPredicate' that ignores the return value.
 --
diff --git a/src/System/Environment/Guard/Lifted.hs b/src/System/Environment/Guard/Lifted.hs
--- a/src/System/Environment/Guard/Lifted.hs
+++ b/src/System/Environment/Guard/Lifted.hs
@@ -18,8 +18,8 @@
     guardSet_,
 
     -- ** Checking environment variable match
-    guardExpected,
-    guardExpected_,
+    guardEquals,
+    guardEquals_,
 
     -- ** Checking environment variable predicate
     guardPredicate,
@@ -85,7 +85,7 @@
 withGuard var expect m =
   case expect of
     ExpectEnvSet -> guardSet var m
-    ExpectEnvEquals str -> guardExpected var str m
+    ExpectEnvEquals str -> guardEquals var str m
     ExpectEnvPredicate p -> guardPredicate var p m
 
 -- | Variant of 'withGuard' that ignores the return value.
@@ -185,38 +185,38 @@
 guardSet_ :: MonadIO m => String -> m a -> m ()
 guardSet_ var = void . guardSet var
 
--- | @'guardExpected' var expected io@ runs @io@ iff
+-- | @'guardEquals' var expected io@ runs @io@ iff
 --
 -- 1. The environment variable @var@ is set.
 -- 2. @var@'s value equals @expected@. This is __case-insensitive__.
 --
 -- @
--- 'guardExpected' var expected === 'guardPredicate' var (\\a b -> 'fmap' 'toLower' a == 'fmap' 'toLower' b)
+-- 'guardEquals' var expected === 'guardPredicate' var (\\a b -> 'fmap' 'toLower' a == 'fmap' 'toLower' b)
 -- @
 --
 -- ==== __Examples__
 --
--- >>> guardExpected "NOT_SET" "val" (putStrLn "ran io" $> True)
+-- >>> guardEquals "NOT_SET" "val" (putStrLn "ran io" $> True)
 -- Nothing
 --
 -- >>> setEnv "WRONG_VAL" "good_val"
--- >>> guardExpected "WRONG_VAL" "bad_val" (putStrLn "ran io" $> True)
+-- >>> guardEquals "WRONG_VAL" "bad_val" (putStrLn "ran io" $> True)
 -- Nothing
 --
 -- >>> setEnv "WILL_RUN" "val"
--- >>> guardExpected "WILL_RUN" "VAL" (putStrLn "ran io" $> True)
+-- >>> guardEquals "WILL_RUN" "VAL" (putStrLn "ran io" $> True)
 -- ran io
 -- Just True
 --
--- @since 0.1
-guardExpected :: MonadIO m => String -> String -> m a -> m (Maybe a)
-guardExpected var expected = guardPredicate var (eqCaseInsensitive expected)
+-- @since 0.2
+guardEquals :: MonadIO m => String -> String -> m a -> m (Maybe a)
+guardEquals var expected = guardPredicate var (eqCaseInsensitive expected)
 
--- | Variant of 'guardExpected_' that ignores the return value.
+-- | Variant of 'guardEquals_' that ignores the return value.
 --
--- @since 0.1
-guardExpected_ :: MonadIO m => String -> String -> m a -> m ()
-guardExpected_ var expected = void . guardExpected var expected
+-- @since 0.2
+guardEquals_ :: MonadIO m => String -> String -> m a -> m ()
+guardEquals_ var expected = void . guardEquals var expected
 
 -- | Variant of 'guardPredicate' that ignores the return value.
 --
