This concept of using complex types in tables actually does have one
legitimate use. When used with casts and functions, you could use it as a
"poor-man's datatype" development method.
Here is a hypothetical example. Imagine for a moment that there was no CIDR
datatype. I could create a datatype as a set of ints and then create
casting functions which I could use for display of the data. This would be
similar to C except that it could be done by people like myself whose C
coding skills are not up to the level where I or anyone else would want them
in the database backend ;-)
Best Wishes,
Chris Travers