title: Nested block programming
body: <p>According to this block programming tutorial:</p>
  
  <p><a href="http://thirdcog.eu/pwcblocks/" rel="nofollow">http://thirdcog.eu/pwcblocks/</a></p>
  
  <p>The following nested block:</p>
  
  <pre><code>void (^(^myblockptr)(void (^)()))();
  </code></pre>
  
  <p>Is a pointer to a block returning a block taking a block</p>
  
  <p>It says that it is equivalent to:</p>
  
  <pre><code>typedef void (^Block)();
  Block (^myblockptr)(Block);
  </code></pre>
  
  <p>I guess that <code>(void (^)())</code> corresponds to the parameters, i.e, <code>(Block)</code>. However, I am unable to see which part of the nested expression corresponds to the returned block. </p>
  
  <p>Are you able to identify the returned block in the nested expression?</p>