RangeBound has too many constructors.
In general Postgres ranges do not have the concept of PosInfinity or NegInfinity. So it would be preferable for these to be replaced with a singe constructor which could be called Unbound. This would have the appealing property of disallowing obviously nonsensical values like. (+infinity,-infinity)
From the relevant portion of the documentation
some element types have a notion of “infinity”, but that is just another value so far as the range type mechanisms are concerned. For example, in timestamp ranges, [today,] means the same thing as [today,). But [today,infinity] means something different from [today,infinity) — the latter excludes the special timestamp value infinity.
RangeBoundhas too many constructors.In general Postgres ranges do not have the concept of
PosInfinityorNegInfinity. So it would be preferable for these to be replaced with a singe constructor which could be calledUnbound. This would have the appealing property of disallowing obviously nonsensical values like.(+infinity,-infinity)From the relevant portion of the documentation