Result.WithLogger(ILogger, string) / LogOnFailure(ILogger, string) — Tap-style ILogger integration; Debug on success, Warning on domain failure, Error on ExceptionError; structured log properties (result.outcome, result.error.type, result.error.message); Task extensions with CancellationToken
Result.Recover() / RecoverAsync() — railway recovery; transforms any failure into a new Result<T> (success or failure) via a fallback func; error list passed to recovery func for context-aware branching; both Result and Result<T>; Task extensions