fix potential multiple evaluation when tracing let, let*, cond forms