title: Is it possible to write nonnull-annotation in init?
body: <p>Now in objective-c there are two new annotations: <strong>nonnull</strong> and <strong>nullable</strong>.<br>
  Which of them should I use for return type specification of init method?</p>
  
  <pre><code>- (instancetype)init {
      if (self = [super init]) {
          // ...
      }
  }
  </code></pre>
  
  <p>Voice for <strong>nullable</strong>:<br>
  There is an "if" to check what [super init] returns and there is no guarantee it never returns nil.</p>
  
  <p>Voice for <strong>nonnull</strong>:<br>
  I don't know real cases when init returns nil and I never check it.</p>