Recover from failure
Result<T> recover(T Function(String) recovery) { return switch (this) { Success() => this, Failure(message: final message) => Result.success(recovery(message)), }; }