I reckon it's better (faster) to return `Failure(HTTPError(...))` rather than a throw/catch.