-- !!! ds016 -- case expressions
--
module ShouldCompile where

f x y z =
    case ( x ++ x ++ x ++ x ++ x ) of
        []      -> []
        [a]     -> error "2"
        [a,b,c] ->
                    case ( (y,z,y,z) ) of
--                    (True, _, False, _) | True == False -> z
--                    (True, _, False, _) | True == False -> z
                      _ -> z

        (a:bs)  -> error "4"
