{-# htermination filterM :: (a -> [] Bool) -> [a] -> [] [a] #-} import Monad