fixes #112 - short-circuit evaluators that try to evaluate recursively