{-# htermination filter :: (a -> Bool) -> [a] -> [a] #-}