title: What does the "__block" keyword mean?
body: <p>What exactly does the <code>__block</code> keyword in Objective-C mean? I know it allows you to modify variables within blocks, but I'd like to know... </p>
  
  <ol>
  <li>What exactly does it tell the compiler?</li>
  <li>Does it do anything else?</li>
  <li>If that's all it does then why is it needed in the first place?</li>
  <li>Is it in the docs anywhere? (I can't find it).</li>
  </ol>