Day 18/90: Error handling

Today's note was about making error handling feel like clear values, collections, and function boundaries instead of syntax trivia. I kept coming back to the same checks: errors with context attached, recoverable versus fatal boundaries, and logs that still explain the failing path.

The failure mode worth watching is leaning on coercion or mutation until the value flow stops explaining itself.…