content: \begin{code}
  import Control.Exception as E
  
  -- This test shows what hpc can really do.
  
  main = do
    print ("Hello")
    foo "Hello"
    E.catch (print (badCase 22 44))
            (\ e -> print (e :: E.ErrorCall))
    E.catch (print (badCase 22 (error "Foo")))
            (\ e -> print (e :: E.ErrorCall))
    E.catch (print "Bark")
            (\ e -> print (e :: E.ErrorCall))
    (_,_) <- return $ ("Hello","World")
    return ()
    () <- return ()
    t <- case () of
      _ | otherwoz -> return "Hello"
      _             -> error "Bad Thing Happened"
    t <- case () of
      _ | otherwise -> return "Hello"
      _              -> error "Bad Thing Happened"
    t <- case () of
      _ | otherwise 
        , False      -> error "Bad Thing Happened"
      _              -> return "Hello"
    print t
    print foo2
  
  foo x = do
    print x
    return ()
  
  unused_ a = a
  
  badCase :: Int -> Int -> Int
  badCase a b = 
          if a > 100 
          then error "badCase" 
          else if a > 1000 
               then 1 
               else badCase (a + 1) (b - 1)
  
  
  foo2 = (1,2, if True then 3 else 4)
  
  otherwoz = True
  \end{code}
  