arrow-typed-errors
Installation
SKILL.md
Arrow Typed Errors
Quick start
- Distinguish expected domain failures from exceptional faults before selecting an API.
- For new code, prefer context-parameter computations (
context(_: Raise<E>)) and run them into a wrapper at a boundary witheither { ... },nullable { ... },option { ... }, orior(...) { ... }. - Use
Eitheroperators for routine propagation and transformation; do not pattern match only to reconstructLeftorRight. - Use
whenwhen the domain genuinely branches by case or when matching a multi-state wrapper directly communicates intent.
Workflow
- Model domain failures as focused sealed types.
- Choose fail-fast composition or independent validation accumulation.
- Implement internal logic in a
Raise<E>context and expose an appropriate wrapper at the public boundary. - Bind nested typed computations and translate their errors at the layer boundary.
- Convert only expected, recoverable exceptions into typed failures.
- Inspect the result with a combinator or intentional case analysis at the consumer boundary.
- Type-check examples when introducing a less familiar Arrow API or upgrading Arrow/Kotlin.
- When changing examples, update and run the bundled
scripts/verify-examples.ktcheck.