!exists, seems to work better than exists when reassigning