Zero-length character strings need special treatment as the SQL standard forbids to declare those type of character strings. For the type inference (e.g. determine the return type of a TRIM('')) it should be possible to return zero-lengths VARCHAR types.
In any case, those type should not have a serializable string representation. Similar behavior is done in the Oracle system: SELECT DUMP(TRIM('')) AS tt FROM dual; returns NULL.