title: Why does Boolean::New() return a Handle<> while other primitives return Local<>?
body: <p>These are the functions to create new primitives in the V8 C++ API:</p>
  
  <pre><code>Handle&lt;Boolean&gt; v8::Boolean::New(bool value)
  Local&lt;Number&gt; v8::Number::New(double value)
  Local&lt;String&gt; v8::String::New(const char *data, int length=-1)
  </code></pre>
  
  <p>I wonder why <code>Boolean</code> returns a <a href="http://izs.me/v8-docs/classv8_1_1Handle.html" rel="nofollow"><code>Handle</code></a> while the others return a <a href="http://izs.me/v8-docs/classv8_1_1Local.html" rel="nofollow"><code>Local</code></a>.</p>
  
  <p>My assumption is that it's related to booleans having only two possibly values but unfortunately the docs are really poor and do not mention things like that.</p>