Sintaxis de tipo Scala

He observado que, si quiero hacer una función genérica que pueda aceptar una lista de cualquier tipo y devolver un valor booleano, puedo usar la siguiente sintaxis para una declaración de función:

def someFunction[A](l:List[A]):Boolean

Sin embargo, también puedo lograr una declaración de función equivalente con esta sintaxis:

def someFunction(l:List[_]):Boolean

La última sintaxis tiene sentido para mí; el guión bajo indica un comodín para una Lista de cualquier tipo. Sin embargo, el primero es confuso; ¿Cuál es la diferencia semántica entre los dos tipos de sintaxis, si hay una? Nota: Noté que podía usar [B] o [c] o incluso [%] en lugar de "[A]" en el primer ejemplo de sintaxis.

Respuestas a la pregunta(2)

Su respuesta a la pregunta