Fix cabal file to pass cabal check
made the monadic structure of app more aparent
Moving stuff around like a jerk so my tooling works properly ...sorry!
took out case shortenResult () because failure is built into the IO monad
All the IORef are out of there!
I meant unsafe ones!
cleanup deps
Minimize changes from 3a385ea