title: Google Closure Annotating won't tell me I'm wrong
body: <p>I'm trying out Google Closure, specifically the annotating stuff to enforce type safety. To test I did something wrong, though the compiler won't tell me that it is...</p>
  
  <p>Here's the code:</p>
  
  <pre><code>// ==ClosureCompiler==
  // @output_file_name default.js
  // @compilation_level SIMPLE_OPTIMIZATIONS
  // ==/ClosureCompiler==
  
  /**
   * A card.
   * @constructor
   * @param {String} cardName The exact name of the card
   * @param {Kinetic.Layer} layer The layer for the card
   */
  function CardObject(cardName, layer)
  {
      /** @type {Number} */
      var number = cardName;
  }
  </code></pre>
  
  <p>So, I have a variable <code>number</code> which I say is a <code>Number</code>, and I try to assign a string to it. This shouldn't be possible, right? Though the compiler won't tell me that...</p>
  
  <p>Why won't it tell me that's wrong?</p>