checkResult :: String -> IO()
checkResult x
    | x == goal = exitSuccess
    | otherwise = do putStrLn $ showError ("Simple Test DID NOT return the goal value!\nReturned: " ++ x ++ "\nInstead of: " ++ goal)
                     exitFailure
checkResult :: String -> IO()
checkResult x
    | x == goal = exitSuccess
    | otherwise = do putStrLn $ showError ("Simple Test DID NOT return the goal value!\nReturned: " ++ x ++ "\nInstead of: " ++ goal)
                     exitFailure
checkResult x
    | x == goal = exitSuccess
    | otherwise = do putStrLn $ showError ("Simple Test DID NOT return the goal value!\nReturned: " ++ x ++ "\nInstead of: " ++ goal)
                     exitFailure