title: instancetype vs class name for singleton?
body: <p>From what I understand, instancetype declares to the compiler that the return type of the method is the same as the class receiving the message.</p>
  
  <p>Traditionally I've always declared my singleton initializers with the class name explicitly set as the return type:</p>
  
  <pre><code>@interface MyClass : NSObject
  + (MyClass *)sharedInstance;
  @end
  </code></pre>
  
  <p>Now I'm wondering if I should use instancetype instead, like so:</p>
  
  <pre><code>@interface MyClass : NSObject
  + (instancetype)sharedInstance;
  @end   
  </code></pre>
  
  <p>In the end the result is the same, I'm just wondering if there's a reason to use one or the other here?</p>