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.9.1
+version:        0.2.10.0
 synopsis:       Multi-precision ball (interval) arithmetic
 description:    Please see the README on GitHub at <https://github.com/michalkonecny/aern2/#readme>
 category:       Math
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.10 2022-08-20
+  * add HasLimitsSameType, CanSelectBool, CanSelectCNBool
 * v 0.2.9 2022-07-13
   * testing basic ops produce valid MPBalls
   * more instances for CN Kleenean
diff --git a/src/AERN2/Limit.hs b/src/AERN2/Limit.hs
--- a/src/AERN2/Limit.hs
+++ b/src/AERN2/Limit.hs
@@ -24,3 +24,4 @@
   type LimitType ix s
   limit :: (ix -> s) -> LimitType ix s
 
+type HasLimitsSameType ix s = (HasLimits ix s, LimitType ix s ~ s)
diff --git a/src/AERN2/Select.hs b/src/AERN2/Select.hs
--- a/src/AERN2/Select.hs
+++ b/src/AERN2/Select.hs
@@ -26,6 +26,9 @@
   -}
   select :: k -> k -> (SelectType k) {-^ True means that the first computation succeeded. -}
 
+type CanSelectBool k = (CanSelect k, SelectType k ~ Bool)
+type CanSelectCNBool k = (CanSelect k, SelectType k ~ CN Bool)
+
 instance CanSelect Kleenean where
   type SelectType Kleenean = CN Bool
   select CertainTrue _ = cn True
