Skip to content

Docs: widen the comparison page — exceptions+ProblemDetails baseline and the union/functional families #248

Description

@Reefact

Problem

ComparisonWithOtherLibraries.en.md — the documentation's "Evaluate" entry point — covers only ErrorOr and FluentResults. The dominant real-world alternative (plain exceptions + ASP.NET Core's built-in ProblemDetails/IProblemDetailsService) is addressed only obliquely in two FAQ entries; CSharpFunctionalExtensions appears in one FAQ line; OneOf/LanguageExt (union style), Ardalis.Result (HTTP-mapping style) and DotNext.Result are never mentioned. An evaluator arriving from any of those ecosystems finds no positioning. The page also lacks a performance/allocation row although ErrorOr is struct-based and that is a real selection criterion.

Impact

The audience a reference library must convince — adopters doing due diligence — is the one the page underserves.

Direction

  • Add the exceptions+ProblemDetails baseline worked through the same payment scenario, preserving the page's dated, non-ranking, self-critical method.
  • Add a short "other families" section/table (union types, functional results, HTTP-mapping results) pointing to the FAQ's existing arguments.
  • Add a performance/allocation row once the core benchmark lands (see the core-benchmark item in the audit backlog) — or an honest "unmeasured" cell until then.
  • FR twin in lockstep; refresh the review date.

Acceptance criteria

  • An evaluator holding any of the named alternatives finds an explicit, honest positioning; the review date reflects the update.

Context

Surfaced by the 2026-07-20 architecture, design & ecosystem audit (doc/handwritten/for-maintainers/audit/2026-07-20-firstclasserrors-architecture-and-design-audit.md, §13.3(f)/§14-HV16; branch claude/firstclasserrors-audit-83gap7).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions