Currently the correct type parameters are inferred from the context.
However, an upcoming Dart 2.0 language change
(https://github.com/dart-lang/sdk/issues/32152) will break the
connection between callable classes and their corresponding function
types, which will prevent type inference from being able to infer
these type parameters anymore.
To prepare for the language change, we need to specify the type
parameters explicitly.
Currently the correct type parameters are inferred from the context. However, an upcoming Dart 2.0 language change (https://github.com/dart-lang/sdk/issues/32152) will break the connection between callable classes and their corresponding function types, which will prevent type inference from being able to infer these type parameters anymore.
To prepare for the language change, we need to specify the type parameters explicitly.