public static function fromArray(array $components): Uri
    {
        $scheme = $components['scheme'] ?? null;
        $authority = $components['authority'] ?? null;
        $path = $components['path'] ?? '';
        $query = $components['query'] ?? null;
        $fragment = $components['fragment'] ?? null;

        return new static($path, $scheme, $authority, $query, $fragment);
    }