First and foremost:
Thanks an absolutely awesome library. I still prefer this to new and improved null-handling as of today.
Case in point. I'm sending an async lamdba into .Match() and the only way to awaiter is to assign the task to a canonical value outside the lamdba scope.
Below statement will just fire-and-forget.
messages.Match
(
some: async msgs =>
{
var lastReferenceId = await messageRepository.AddRange(msgs);
lastReferenceId.MatchSome(referenceId => FasterOps.Instance.Value.TruncateUntil(referenceId));
logger.LogInformation("Flushed records");
},
none: () => delayCoefficient = 10
);