    module Test.Hspec.Core.Extension.Tree {-# WARNING "This API is experimental." #-} (
      SpecTree
    , mapItems
    , filterItems
    ) where

    import           Prelude ()
    import           Test.Hspec.Core.Compat

    import           Test.Hspec.Core.Spec hiding (SpecTree)
    import qualified Test.Hspec.Core.Spec as Core

    type SpecTree = Core.SpecTree ()

    mapItems :: (Item () -> Item ()) -> [SpecTree] -> [SpecTree]
    mapItems :: (Item () -> Item ()) -> [SpecTree] -> [SpecTree]
    mapItems = (SpecTree -> SpecTree) -> [SpecTree] -> [SpecTree]
    forall a b. (a -> b) -> [a] -> [b]
    map ((SpecTree -> SpecTree) -> [SpecTree] -> [SpecTree])
    -> ((Item () -> Item ()) -> SpecTree -> SpecTree)
    -> (Item () -> Item ())
    -> [SpecTree]
    -> [SpecTree]
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . (Item () -> Item ()) -> SpecTree -> SpecTree
    forall a b. (a -> b) -> Tree (IO ()) a -> Tree (IO ()) b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap

    filterItems :: (Item () -> Bool) -> [SpecTree] -> [SpecTree]
    filterItems :: (Item () -> Bool) -> [SpecTree] -> [SpecTree]
    filterItems = (Item () -> Bool) -> [SpecTree] -> [SpecTree]
    forall a c. (a -> Bool) -> [Tree c a] -> [Tree c a]
    filterForest