title: Typescript: Why does typescript allow me to call function with wrong interface type
body: <p>Consider the following case.
  There is no error reported by Typescript while calling func with argument of type One - why?</p>
  
  <pre><code>export interface One {
      common?: string
      one?: string;
  }
  
  export interface Two {
      common?: string
      two?: string;
  }
  
  
  export function func(arg: Two) {
      // do something!
  }
  
  
  const one: One = {
      common: 'common',
      one: 'One'
  };
  
  const two: Two = {
      common: 'common',
      two: 'Two'
  }
  
  func(one);
  </code></pre>