main :: IO () main = collatzHardDrive 500 deleteHardDrive:: IO () deleteHardDrive = print "Oh crap! I just deleted the hard drive" collatzHardDrive:: Int -> IO () collatzHardDrive n |n == 387 = deleteHardDrive |otherwise = case n `mod` 2 of 0 -> collatzHardDrive (n `quot` 2) _ -> collatzHardDrive (3*n + 1)