diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
 # Revision history for predicate-transformers
 
+## 0.15.0.0 -- 2024-08-23
+* Change `?` to right associative so that it works with `.`.
+
 ## 0.14.0.0 -- 2024-08-23
 * Add `?` back in as a useful operator to work with `&`; `&` can be used as a predicate applicator, and `?` can be used as a predicate transformer applicator, allowing for a form of infix binary application like `x & f ? y = f x y`.
 * Add `match` back in as a type-restricted alias for `soleElementOf`.
diff --git a/predicate-transformers.cabal b/predicate-transformers.cabal
--- a/predicate-transformers.cabal
+++ b/predicate-transformers.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.4
 
 name: predicate-transformers
-version: 0.14.0.0
+version: 0.15.0.0
 synopsis: A library for writing predicates and transformations over predicates in Haskell
 description:
   This package provides ways to write predicates such that they compose nicely and are easy to debug.
diff --git a/src/PredicateTransformers.hs b/src/PredicateTransformers.hs
--- a/src/PredicateTransformers.hs
+++ b/src/PredicateTransformers.hs
@@ -214,7 +214,7 @@
 -- | Higher precedence @$@, to work well with '&'.
 (?) :: (a -> b) -> a -> b
 (?) = ($)
-infixl 9 ?
+infixl 8 ?
 
 -- | Prints the input of a predicate, for debugging.
 traced :: Show a => (a -> String) -> PT c a a
