public function withFragment(string $fragment): UriInterface
    {
        $instance = clone $this;
        $instance->fragment = $this->marshalQueryAndFragment($fragment);

        return $instance;
    }