title: Why, in the result of this object type intersection, is the type of the `constructor` property intersected with `Function`?
body: <p>If I perform this type intersection:</p>
  
  <pre class="lang-ts prettyprint-override"><code>{ constructor: 'FooConstructor', value1: boolean } &amp; { value2: number };
  </code></pre>
  
  <p>The resulting type is this:</p>
  
  <pre class="lang-ts prettyprint-override"><code>{ constructor: 'FooConstructor' &amp; Function, value1: boolean, value2: number };
  </code></pre>
  
  <p>(<a href="http://www.typescriptlang.org/play/#code/CYUwxgNghgTiAEYD2A7AzgF3gMyUgQrAFzwDeiqmMArmBkjCQOQBieAwpRjXQ0wDTwAblAjUQARhIAjPBBBQU8AL7wAZGWGjxAJhIpqAW2kgYKgNwAoSwHob8ACoALAJZp4aJ0moRg8UzAMAITwAAbI6Ny09DChHl4+fgD6KEgYSfAm8C4oGKZo4Hl+AO4uGE5hLNQodC6ooUGWEZj+AB4ADoUAojCBjJrNUbz9rBxcPDFM6vBVNRh1KIIiYpIycgqLWit68AbGpirwALw4eIQw5kA" rel="nofollow noreferrer">Playground example</a>)</p>
  
  <p>Why is the type of the resulting <code>constructor</code> property intersected with <code>Function</code>?</p>