Why does the "command not found" output of `which` go to stdout? Seems like it would make more sense to send that to stderr and nothing to stdout in that case. I know the exit code can be used to determine whether the output is usable; it just seems like an odd choice.
--