what we learned yesterday from the cloudflare thing is that cloudflare's people regularly use throwing functions without corresponding catches immediately surrounding them, apparently because using the result or option type is too much work, and, okay, i guess