title: What does the exclamation mark mean in a Haskell declaration?
body: <p>I came across the following definition as I try to learn Haskell using a real project to drive it.  I don't understand what the exclamation mark in front of each argument means and my books didn't seem to mention it.</p>
  
  <pre><code>data MidiMessage = MidiMessage !Int !MidiMessage
  </code></pre>