I have this function:
U on<T, U> (T value, T defaultValue, U Function (T value) builder) => builder(value ?? defaultValue);
If I use it like this:
var a = "Hello";
var b = "World";
final result = on(a, b, (value) => Text(value))
Inside the builder callback parameter, the value type is always dynamic. Why it can't have the same type as the parameter a and b?