It is called type inference in the Dart language.
What’s happening here is that the analyzer can infer the type of the generic based on the parameter type.
You can find more examples and explanations about it here:
https://dart.dev/language/type-system#type-inference