Vectors are currently used in the Postgres egg to represent date-time
values. Not saying it's good, but there it is. (BTW, a dbapi needs
consistent date/time support too...)
In Common Lisp, NIL is the same as '(), and both mean "false". In
Scheme we have an explicit #f. For the same reasons we should have an
explicit #<sql-null>. It is important that (sql-null? (sql-null)) is
#t, and (sql-null? anything-else) is #f.
Since SQL NULL values are common, I really like the simple null? test. It's
intuitive.
How is (sql-null?) harder or less intuitive?