I would like to eval elisp expressions in a "session" so that side-effects only affect expressions which happen in that "session". For instance defuns that are evaluated in the session would only be visible within the session and would not clobber the global session.
Is there a way to do that?