Change global_http_status to global_type

**Please do not merge this yet.**

I'm getting a lot of comments on this and I'd like to be able to track them all in one place, so opening this as a pull request for that purpose. More work has to be done.