title: Dependent types not working for constructors?
body: <p>Path-dependent types are useful:</p>
  
  <pre><code>trait Sys {
    type Global
  }
  def foo[S &lt;: Sys](system: S)(global: system.Global) = ()
  </code></pre>
  
  <p>Why doesn't this work for constructors?</p>
  
  <pre><code>class Foo[S &lt;: Sys](val system: S)(val global: system.Global)
  </code></pre>
  
  <p>Or am I just doing it wrong?</p>