partially added implicit guard/update.
now that guard/updates are hoisted, remove debug printf