don't use merge! for replacing nested values.

doh. or something.
prevent enter-eval from moving the line around.
support passing arguments to the programs.