Create default column type for Rat
What's important to preserve with this type, numerical query operators or the precision and exact round trip reproduction of the Rat? Ideally this would be a composite derived type in the implementing DBMS with bigint numerator, bigint denominator, derived double precision numerator / denominator. It feels like if you explicitly defined a Rat type in your models over Num as a column you are likely keen for the precision to be stored exactly, which suggests using a text type and inflating/deflating.
I was thinking about it and I think it would make difficult to search for columns of that type... I needed a Rat and implemented as real, but it was only to solve a problem I was having. We should find a better way to do that.