I've observed that, if I want to make a generic function that can accept a list of any type and return a boolean, I can use the following syntax for a function declaration:
A is a "type parameter". Just like a value parameter, such as your
l passed parameter, it is the "name", or place holder, for a some type which might be different at different times (i.e. with different invocations of the method).
In your example the
A is unused so, yeah, using
_ makes more sense and is clearer, but if you were to return an element from the list then the method return type would be
A (or whatever name you want to give that parameter). Using
_ as a return type wouldn't make any sense.