Use ErrorT instead of EitherT
Remove warnings
Apply hlint
Use catchError
Merge branch 'swtw7466/removeWarning' of github.com:swtw7466/PuddingX into swtw7466-swtw7466/removeWarning

Conflicts:
	src/Pudding.hs
Adjust imports
Optimize flag should be set in cabal file
Revival of pushX
push' is indpendent
Adjust imports
Unifiy Env and EnvWithError
EnvWithError is now the new Env!