According to https://html.spec.whatwg.org/multipage/browsers.html#concept-origin, the port part of a tuple origin can be `null`, so it seems that `Origin::Tuple(String, Host<String>, u16)` should be `Origin::Tuple(String, Host<String>, Option<u16>)`