I still can't decide whether M-x ielm fits into an optimal elisp workflow.
The 'strict Emacs' view is that it's better to use buffers for everything, so you can edit and build up expressions there.
The 'tailored UI' view is that ielm is better, because it's a dedicated REPL.