I consider both HSTORE (key/value) and the current JSON type and record functions are just intermediate steps to a fuller API [0].
[0]: http://www.postgresql.org/message-id/50EC971C.3040003@dunsla...