public function appendScheme(Scheme $scheme): self
    {
        return new self(
            (string) $this->pregReplace(
                '/^[a-zA-Z]*:?\/\//',
                (string) $scheme . '://'
            )
        );
    }