title: How to declare two unassignable types?
body: <p>I have a FFI binding and there are a couple of places where <code>void *</code> is used. I'd like to differentiate those on Typescript side. What I do is:</p>
  
  <pre><code>interface Struct1Ptr extends Buffer {};
  interface Struct2Ptr extends Buffer {};
  var x: Struct1Ptr;
  var y: Struct2Ptr;
  </code></pre>
  
  <p>I'd like to make those types unassignable, so that error is signaled when I try to assign <code>x = y</code> or <code>y = x</code> or use wrong type as arguments to functions.</p>