Functional Result<T> monad for .NET — eliminate manual error propagation with Map, Bind, and Match.
dotnet add package ZibStack.NET.Result
Result<OrderDto> dto = _orderService.GetOrder(id)
.Map(order => MapToDto(order));
Result<string> tracking = GetUser(id)
.Bind(user => GetLatestOrder(user.Id))
.Bind(order => GetShipment(order.ShipmentId))
.Map(shipment => shipment.TrackingNumber);
string message = result.Match(
value => $"Found: {value}",
error => $"Error: {error.Message}");Full documentation: mistykuu.github.io/ZibStack.NET/packages/result/