title: Disable allowing assigning Readonly types to non-readonly types
body: <p>I've been looking at the readonly type in typescript. Sadly, it does not work as i hope it would. For instance, see the code below:</p>
  
  <pre><code>interface User{
      firstName: string;
      lastName: string;
  }
  
  const user: Readonly&lt;User&gt; = {
      firstName: "Joe",
      lastName: "Bob",
  };
  
  const mutableUser: User = user; //Is it possible to disallow this?
  
  user.firstName = "Foo" //Throws error as expected
  mutableUser.firstName ="Bar"//This works
  </code></pre>
  
  <p>Is it somehow possible to use the readonly type in a way that doesn't allow assigning it to another type that is not readonly? If it isn't can i solve it in any other way?</p>