Consider the following: ```dart final foo = (call: <T>(T value) => value,); final value = foo<int>(42); ``` Currently, the type of `value` is inferred as `dynamic`. But this is incorrect. <img width="382" alt="Screenshot 2024-01-13 at 19 04 01" src="https://github.com/dart-lang/language/assets/20165741/95dd4231-b865-43ea-928b-c594efa5fc71"> Writing: `final value = foo.call<int>(42)` fixes the type-inference issue. <img width="340" alt="Screenshot 2024-01-13 at 19 04 16" src="https://github.com/dart-lang/language/assets/20165741/c331cd86-1707-4948-a164-f24545f57ad1">