diff --git a/rose-trees.cabal b/rose-trees.cabal
--- a/rose-trees.cabal
+++ b/rose-trees.cabal
@@ -1,5 +1,5 @@
 Name:                   rose-trees
-Version:                0.0.4.3
+Version:                0.0.4.4
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                BSD3
@@ -28,7 +28,7 @@
                       , semigroupoids
                       , sets >= 0.0.5
                       , unordered-containers
-                      , witherable
+                      , witherable >= 0.2
                       , QuickCheck
                       , quickcheck-instances
 
@@ -41,6 +41,7 @@
   Main-Is:              Spec.hs
   Other-Modules:        Data.Tree.Knuth
                         Data.Tree.Knuth.Forest
+                        Data.Tree.Hash
                         Data.Tree.Rose
                         Data.Tree.Set
                         Data.Tree.RoseSpec
@@ -70,6 +71,7 @@
                         Data.Tree.Knuth.Forest
                         Data.Tree.Rose
                         Data.Tree.Set
+                        Data.Tree.Hash
                         Data.TreeBench
                         Data.Tree.SetBench
                         Data.Tree.KnuthBench
diff --git a/src/Data/Tree/Knuth/Forest.hs b/src/Data/Tree/Knuth/Forest.hs
--- a/src/Data/Tree/Knuth/Forest.hs
+++ b/src/Data/Tree/Knuth/Forest.hs
@@ -12,7 +12,7 @@
 import Prelude hiding (foldr, elem)
 import Data.Semigroup
 import Data.Foldable hiding (elem)
-import Data.Witherable
+import Data.Witherable (Filterable, catMaybes)
 import qualified Data.Set.Class as Sets
 import qualified Data.Tree      as T
 import Control.Applicative
@@ -86,7 +86,7 @@
   foldr f acc (Fork x xc xs) =
     foldr f (foldr f (f x acc) xs) xc
 
-instance Witherable KnuthForest where
+instance Filterable KnuthForest where
   catMaybes Nil = Nil
   catMaybes (Fork mx xc xs) = case mx of
     Nothing -> Nil
