Add explicit semantic check for empty variable reference in promiser, unit test