range type seem not mention their size in the docs. multi range size is variable. But range size seems fixed. why it's 17 byte?
select pg_column_size('[10,20)' ::int4range ); --17 byte select pg_column_size('[-2147483648,2147483647)' ::int4range ); --17 byte.