Utilizando una lista filtrada en una nueva función en haskell

Así que no estoy muy seguro de cómo expresar esto correctamente, pero digo que quería obtener la suma de todos los números impares en una lista, ¿tengo dos funciones (sumList y getOddNumbers) y las combino en sumOddList o hay alguna manera? poner estos dos juntos en una sola función? Si no hay una mejor función, ¿cómo los combinaría exactamente en sumOddList?

getOddNumbers :: [Integer] -> [Integer]
getOddNumbers [] = []
getOddNumbers (x:xs)
    |odd x = x:getOddNumbers xs
    |otherwise = getOddNumbers xs

sumList :: [Integer] -> Integer
sumList list = case list of
   [] -> 0
   (x:xs) -> x + (sumList xs)

También pregunto principalmente porque juntar dos funciones diff es algo con lo que luché antes, al poner un color y una forma usando CodeWorld para generar una forma de ese color.

Gracia

(Nota: he estado usando Haskell por poco más de 5 semanas y soy un novato total claramente)