Why do you need to throw :halt if you don't do anything later on?