title: Partially applying type parameters
body: <p>I'm desperately trying to solve the following:</p>
  
  <pre><code>trait Access[Res[_]] { def access[C]: Res[C] }
  
  trait CList[C1, A] extends Access[CList[_, A]] // ?!
  
  def test[C1, C2, A](c: CList[C1, A]): CList[C2, A] = c.access[C2]
  </code></pre>
  
  <p>scalac just says: <code>"error: illegal cyclic reference involving trait CList"</code>. how can I make this compile?</p>