diff --git a/aern2-mp.cabal b/aern2-mp.cabal
--- a/aern2-mp.cabal
+++ b/aern2-mp.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           aern2-mp
-version:        0.2.10.0
+version:        0.2.11.0
 synopsis:       Multi-precision ball (interval) arithmetic
 description:    Please see the README on GitHub at <https://github.com/michalkonecny/aern2/#readme>
 category:       Math
@@ -90,7 +90,7 @@
     , deepseq
     , hspec
     , integer-logarithms
-    , mixed-types-num >=0.5.10
+    , mixed-types-num >=0.5.11
     , reflection
     , regex-tdfa
     , template-haskell
@@ -130,7 +130,7 @@
     , deepseq
     , hspec
     , integer-logarithms
-    , mixed-types-num >=0.5.10
+    , mixed-types-num >=0.5.11
     , reflection
     , regex-tdfa
     , template-haskell
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,7 @@
 # Change log for aern2-mp
 
+* v 0.2.11 2022-08-25
+  * left-first Kleenean and/or
 * v 0.2.10 2022-08-20
   * add HasLimitsSameType, CanSelectBool, CanSelectCNBool
 * v 0.2.9 2022-07-13
diff --git a/src/AERN2/Kleenean.hs b/src/AERN2/Kleenean.hs
--- a/src/AERN2/Kleenean.hs
+++ b/src/AERN2/Kleenean.hs
@@ -67,12 +67,12 @@
 instance CanAndOrAsymmetric Kleenean Kleenean
   where
   type AndOrType Kleenean Kleenean = Kleenean
-  and2 CertainTrue CertainTrue = CertainTrue
   and2 CertainFalse _ = CertainFalse
+  and2 CertainTrue CertainTrue = CertainTrue
   and2 _ CertainFalse = CertainFalse
   and2 _ _ = TrueOrFalse
-  or2 CertainFalse CertainFalse = CertainFalse
   or2 CertainTrue _ = CertainTrue
+  or2 CertainFalse CertainFalse = CertainFalse
   or2 _ CertainTrue = CertainTrue
   or2 _ _ = TrueOrFalse
 
diff --git a/src/AERN2/MP/Ball/Comparisons.hs b/src/AERN2/MP/Ball/Comparisons.hs
--- a/src/AERN2/MP/Ball/Comparisons.hs
+++ b/src/AERN2/MP/Ball/Comparisons.hs
@@ -80,6 +80,7 @@
 instance
   (HasEqAsymmetric MPBall b
   , IsBool (EqCompareType MPBall b)
+  , CanTestCertainly (EqCompareType MPBall b)
   , CanBeErrors es)
   =>
   HasEqAsymmetric MPBall (CollectErrors es b)
@@ -91,6 +92,7 @@
 instance
   (HasEqAsymmetric a MPBall
   , IsBool (EqCompareType a MPBall)
+  , CanTestCertainly (EqCompareType a MPBall)
   , CanBeErrors es)
   =>
   HasEqAsymmetric (CollectErrors es a) MPBall
@@ -184,6 +186,7 @@
 instance
   (HasOrderAsymmetric MPBall b
   , IsBool (OrderCompareType MPBall b)
+  , CanTestCertainly (OrderCompareType MPBall b)
   , CanBeErrors es)
   =>
   HasOrderAsymmetric MPBall (CollectErrors es  b)
@@ -198,6 +201,7 @@
 instance
   (HasOrderAsymmetric a MPBall
   , IsBool (OrderCompareType a MPBall)
+  , CanTestCertainly (OrderCompareType a MPBall)
   , CanBeErrors es)
   =>
   HasOrderAsymmetric (CollectErrors es a) MPBall
