openHandles :: Shell () -- this is weird -> these shouldn't have side effects
openHandles = iHandle >> oHandle >> eHandle >> return ()
openHandles :: Shell ()
openHandles = iHandle >> oHandle >> eHandle >> return ()
openHandles = iHandle >> oHandle >> eHandle >> return ()