I'm learning Scala's generic content, and I don't know the meaning of literal in the code
sealed trait Natural
sealed trait Vect[N <: Natural, +A]:
def length: Int
def map[B](f: A => B): Vect[N, B]
def zip[B](that: Vect[N, B]): Vect[N, (A, B)]
def concat[M <: Natural, B >: A](that: Vect[M, B]): Vect[Plus[N, M], B]
What does Vect[N, (A, B)] mean, especially (A, B)?