I've seen the ! (bang) in several snippets of code. What does it do? What are the rules for using it?