The result is an error message, callback successes if message is null
typedef RecoverCallback = Future<String?>? Function(String);