title: What are the Component Object Model(COM) style behaviors/restrictions exhibited by WinRT types
body: <p>As we all know that WinRT is an enhanced version of Microsoft's Component Object Model (COM). I didn't get much chance to work directly with COM components except to manage distributed transactions over a decade ago. I'm sure COM is used a lot internally at OS level.</p>
  
  <p>I was reading that WinRT types are subject to COM-style restrictions. I was able to get few restrictions by searching over internet as below:</p>
  
  <ul>
  <li>WinRT types have to be sealed by default as asked in this post <a href="https://stackoverflow.com/questions/7492132/why-do-winrt-types-have-to-be-sealed">here</a>. </li>
  <li>they offer limited support for inheritance and generics in the sense that it only supports interface inheritance but not implementation inheritance as suggested in the accepted answer in this post <a href="https://stackoverflow.com/questions/10493865/why-exposed-types-must-be-sealed-for-winmd-winrt-components">here</a>.</li>
  </ul>
  
  <p>Can someone help me with some good high level restrictions imposed for COM types or may be point me to some good resource where I can get an exhaustive information on this. I tried googling a lot but to no help.</p>