avoid recursive nextTick-mayhem