Switched to Megaparsec from Parsec. Also switched eval[...] functions to return Maybe when things like division by zero would otherwise happen. Wouldn't want any runtime crashes :P