data Foo = A Int | B Bool | C

-- Make sure we don't shadow the i and b bindings when we empty case
-- split
foo :: Int -> Bool -> Foo -> ()
foo i b x = case x of