Haskell: declaraciones de casos múltiples en función única

Quiero incluir más de un enunciado de caso en una función de Haskell (vea a continuación un ejemplo de una función hipotética).

Sin embargo, no es legal Haskell. ¿Cuál es una mejor manera de lograr lo mismo? Además, si las declaraciones de caso no devuelven nada, sino que simplemente establecen algún valor, ¿por qué no es legal tener más de una declaración de caso en una función?

(Obtendría un "error de análisis en la entrada` case '"en la línea 5)

tester x y =  
   case (x < 0) of  
       True -> "less than zero."  
       False -> "greater than or equal to zero."  
   case (y == "foo")  
       True -> "the name is foo."  
       False -> "the name is not foo." 

Tenga en cuenta que si mi función fuera simplemente:

tester x y =  
   case (x < 0) of  
       True -> "less than zero."  
       False -> "greater than or equal to zero."

... entonces se compilaría.