Change read_eval to return new environments so that defun works inside the repl.