Yet another return keyword implementation (this time - correctly), change order of ContT and StateT monad transformers for Eval type