Tipos dependentes não funcionam para construtores?

Tipos dependentes de caminho são úteis:

trait Sys {
  type Global
}
def foo[S <: Sys](system: S)(global: system.Global) = ()

Por que isso não funciona para construtores?

class Foo[S <: Sys](val system: S)(val global: system.Global)

Ou estou apenas fazendo errado?

questionAnswers(1)

yourAnswerToTheQuestion