filter' p (x:xs)
    | p x = x : filter' p xs
    | otherwise = filter' p xs
filter' p (x:xs)
    | p x = x : filter' p xs
    | otherwise = filter' p xs
filter' p (x:xs)
    | p x = x : filter' p xs
    | otherwise = filter' p xs