content: -- GHC 6.6 compiled YHC wrong; this is a cutdown testcase (from trac #1171).
  
  module Main where
  
  import System.Directory
  
  data Error
      = ErrorFileNone
      | ErrorFileMany 
          FilePath    -- file you were looking for
  
  raiseError ErrorFileNone = error "Error: File not found"
  raiseError (ErrorFileMany file) = error $ "Error: Found file multiple times: "++file
  
  data PackageData = PackageData [FilePath] deriving Show
  
  getModule :: PackageData -> String -> IO ()
  getModule (PackageData rs@(root:rest)) file =
          do local <- testPackage root
             res <- testPackage root
             print (local, res)
             case (local,res) of
                  ([x], _) -> return ()
                  (_, [x]) -> return ()
                  ([], []) -> raiseError $ ErrorFileNone
                  (as, bs) -> if as++bs == [] then error "Empty as++bs" else raiseError $ ErrorFileMany file
      where
          testPackage pkg =
              do
                  bHi <- doesFileExist "/does/not/exist"
                  return [("","") | bHi]
  
  main = getModule (PackageData ["7"]) "13"
  
  