What does _ (underscore) mean in types?
Underscore is a “wildcard” type. It stands for some type that the programmer doesn’t want to bother writing out; the compiler is expected to fill in the type for the programmer. Sometimes, the compiler isn’t smart enough to figure out the type (you will get an error message if so), but usually there is enough contextual information for the compiler to succeed.