1foo :: Int -> Int
2foo x = case x of x -> x
3
4foo :: IO ()
5foo = case [1] of [_] -> "singleton"; _ -> "not singleton"
6foo = case [1] of { [] -> foo; _ -> bar } `finally` baz
7