Как сопоставить шаблон с каждым числовым классом в одном случае?

Предположим, у меня есть

def foo(x: Any) = x match {
  case s: String => println(0)
  case i: Int => println(1)
  case l: Long => println(2)
  //...
}

Есть ли способ сделать что-то вроде следующего?

def foo(x: Any) = x match {
  case s: String => println(0)
  case i: Numeric => println("Numeric")
}

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

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