Соответствие паттерна «возвращаемому» значению

Почему невозможно связать конструкции соответствия шаблону? Например, следующее законно, если бессмысленно,

val a = ADT(5)

val b = a match {
  case ADT(a) if a > 4 => ADT(a * 3)
  case ADT(a) => ADT(a + 1)
} 
b match {
  case ADT(a) if a > 13 => doSomething(a)
  case _ => {}
}

но следующее не так:

a match {
  case ADT(a) if a > 4 => ADT(a * 3)
  case ADT(a) => ADT(a + 1)
} match {
  case ADT(a) if a > 13 => doSomething(a)
  case _ => {}
}

Я подозреваю этопотому что я не долженне делаю это в первую очередь, но в принципе я нене понимаю, почему этоне законно.

Ответы на вопрос(2)

Ваш ответ на вопрос