title: Another (simpler) trouble with type variance
body: <p>I had a (looong) version of this problem posted yesterday here:
  <a href="https://stackoverflow.com/questions/45741536/trouble-with-type-variance">Trouble with type variance</a></p>
  
  <p>To cut the (really) long story short, this: </p>
  
  <pre><code> class A[-P, T &lt;: P]
  </code></pre>
  
  <p>does not compile (it complains, that "P occurs in covariant position in type  &lt;: P of type T").
  An answer to my earlier question suggested that the declaration is indeed invalid, because <code>A[Foo, Bar]</code> would be a subclass of <code>A[Nothing, Bar]</code>, but the latter is illegal (<code>Bar</code> isn't a subclass of <code>Nothing</code>). </p>
  
  <p>I don't think that's reason enough. By that logic, something like this should be illegal too: <code>class B[+T &lt;: String]</code> - <code>B[String]</code> should be a subclass of <code>B[Any]</code> but the latter is invalid. </p>
  
  <p><strong>Moreover</strong>, this: </p>
  
  <pre><code>class C[T, -P &gt;: T] 
  </code></pre>
  
  <p>Actually does compile. Isn't this essentially the same exact thing as <code>A</code> above?</p>