Be aware not all operators evaluate all arguments, or to the same depth—i.e. if the arguments included nested evaluations. Argument evaluation is not formally annotated for all operators, the full operator listing probably has the most useful collection of knowledge on this aspect.
If evaluation is an issue, consider tear-down testing starting with literal values and slowly changing to evaluated arguments.