title: Explicitly set the return type of functions
body: <p>I recently was poking around JS code and I found the following annotation:</p>
  
  <pre><code>/**
  * Explicitly set the return type here to prevent the primitive being lost when using new
  * @return {boolean}
  */
  function giveMeABoolean(please) {
      ...
  }
  </code></pre>
  
  <p>What gives? Return types in JS? I've been poking around online and can't find anything about this. After some testing the primitive is indeed lost when using  <strong>new</strong> without the annotation. Can anyone explain how this annotation works?</p>