I would like to define a freezed class [https://pub.dev/packages/freezed] with a generic callback.
Freezed class:
import 'package:freezed_annotation/freezed_annotation.dart';
part 'foo.freezed.dart';
@freezed
abstract class Foo<T> with _$Foo {
  factory Foo({
    // String Function() callBackOne,
    String Function(T) callBackTwo,
  }) = _Foo;
}
Widget using the Freezed class:
class MyHomePage extends StatelessWidget {
  // final fooOne = Foo<int>(callBackOne: () => 'Result: 42');
  final fooTwo = Foo<int>(callBackTwo: (value) => 'Result: ${value * 3}');
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Text(fooTwo.callBackTwo(14)),
      ),
    );
  }
}
Error:
lib/foo.freezed.dart:128:26: Error: The return type of the method '_Foo.callBackTwo' is 'String Function(T)', which does not match the return type, 'String Function(dynamic)', of the overridden method, '_$Foo.callBackTwo'.
Change to a subtype of 'String Function(dynamic)'.
  String Function(T) get callBackTwo;
                         ^
lib/foo.freezed.dart:31:26: Context: This is the overridden method ('callBackTwo').
  String Function(T) get callBackTwo;
                         ^
Do you know what is wrong with my code? Is it a limitation of Freezed? Do you know a workaround?
Thank you!!!