Minor issue but we may want to use `URI.getScheme(url)` and test if it's `null` (for instance to catch `mailto:hello@example.com`