diff --git a/Data/Function/Memoize.hs b/Data/Function/Memoize.hs
--- a/Data/Function/Memoize.hs
+++ b/Data/Function/Memoize.hs
@@ -248,7 +248,8 @@
           GT → loop (succ mean) stop (btRight cache)
 
 meanFinite     ∷ (Bounded a, Enum a) ⇒ a → a → a
-meanFinite a b = toEnum (ia + (ib - ia) `div` 2)
+meanFinite a b = toEnum (ia `div` 2 + ib `div` 2 +
+                           if odd ia && odd ib then 1 else 0)
   where
     ia = fromEnum a
     ib = fromEnum b
diff --git a/memoize.cabal b/memoize.cabal
--- a/memoize.cabal
+++ b/memoize.cabal
@@ -1,5 +1,5 @@
 name:           memoize
-version:        0.1
+version:        0.2
 cabal-version:  >= 1.6
 license:        BSD3
 license-file:   LICENSE
