1data A = A | B | C 2 3some :: A -> IO () 4some a = do 5 foo 6 bar a 7 where 8 foo = putStrLn "Hi" 9 10 bar :: A -> IO () 11 bar x = _ 12 13