Sintaxe do tipo Scala

Observei que, se eu quiser criar uma função genérica que possa aceitar uma lista de qualquer tipo e retornar um booleano, posso usar a seguinte sintaxe para uma declaração de função:

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

No entanto, também posso obter uma declaração de função equivalente com esta sintaxe:

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

A última sintaxe faz sentido para mim; o sublinhado indica um curinga para uma lista de qualquer tipo. No entanto, o primeiro é confuso; qual é a diferença semântica entre os dois tipos de sintaxe, se houver algum? Nota: notei que podia usar [B] ou [c] ou mesmo [%] no lugar de "[A]" no primeiro exemplo de sintaxe.

questionAnswers(2)

yourAnswerToTheQuestion