A reboot of pharpend/castingsim, in Haskell.