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).

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