Also, things like the SQLite module could check the actual datatype to figure out what to do. In my version of the Oracle module (I don't know if it works the same in the new one), I used (<"foo">) and "foo" to differentiate BLOBs (which are octet sequences) from strings (which are character sequences), since Oracle had very firm opinions on what a character is.