Compare these different declarations. filter :: (a -> Bool) -> [a] -> [a] filter :: a -> Bool -> [a] -> [a] Parse each of these declarations. bob :: a -> b -> c -> d -> b bob :: (a -> b) -> c -> d -> b bob :: (a -> b) -> (c -> d) -> b bob :: (a -> b) -> (c -> d) -> Integer bob :: a -> ((b -> c) -> d) -> (e -> f) -> g