Add dwim functions

I just cooked these up locally and thought others might be interested.

This is just a first stab, though- for starters, I'd like to understand a bit more about the role of ajz/to-char before we commit. The use of that variable looks a bit wonky to my eyes, but may be completely necessary!