Object and Function are quite confusing
<pre><code>Object instanceof Object
true
Object instanceof Function
true
Function instanceof Object
true
Function instanceof Function
true
</code></pre>

<p>so if Function is an Object and the Object is a Function how come</p>

<pre><code>Function === Object and Function == Object are false?
</code></pre>

<p>I do understand that checking the instance of an object is not the same as comparison. So the question here is the fuzziness in the case where if two objects (which are actually types) are instances of each other, shouldn't the types be the same?</p>

<p>Note: Object is not an instance of a Number or an Array just an instance of Function.</p>
