Opinionated TypeScript error handling with Rust's Result type, domain errors, and observability built-in