Named constructors stop at Ok and Redirect because those are the only two responses that carry structure beyond a bare code: a page and its Content Type for the former, a Location for the latter. A NotFound constructor is deliberately absent even though it would round out the set: eezo's own failure statuses are reached by throwing the sealed set in Errors.scala, which Boundary catches and renders as a full RFC 9457 problem page. A Response.NotFound would read as the way to say 404 while returning an empty body, skipping that page entirely, and it would sit one letter from the NotFound exception that does produce it. Every status eezo does not give a name to, including 404 when it is reached outside that thrown path, goes through status instead.
The same 303 for an address that still travels with its mount, which is what a derived write redirects to. Overloaded rather than widened, so that a String location keeps meaning a finished address and reads as one at the call site.
The same 303 for an address that still travels with its mount, which is what a derived write redirects to. Overloaded rather than widened, so that a String location keeps meaning a finished address and reads as one at the call site.