@smichr, 
> Otherwise things can get unnecessarily slow when, for example, the doit can do nothing.

Okay. I will leave out that part from the source code.