Classe Scala étendant le produit avec Serializable

Je suis en train d'apprendre scala et essayé formulaire suivant Scala livre de cuisine:

trait Animal
trait FurryAnimal extends Animal
case class Dog(name:String) extends Animal
case class Cat(name:String) extends Animal

Maintenant, quand je n'ai suivantes :

val x = Array(Dog("Fido"),Cat("Felix"))

il montrer le résultat :

x:Array[Product with Serializable with Animal] = Array(Dog(Fido),Cat(Felix))

Même si je sais qu'une classe de cas de mélange avec des Produits de trait

Ce que je ne suis pas arriver est : Product with Serializable with Animal

Selon ma compréhension du Produit a quelque chose à voir avec le Pattern matching

J'ai fait google, mais n'en est rien.S'il vous plaît Aider pour me le concept en détail.

Grâce

source d'informationauteur optional