I am not sure if CL is best example - it has no NULL SQL logic.
Current issue is introduced by design, where empty array is similar to NULL (but not same) - what is on half way to Oracle varchar behave. But it is not consistent with other data types in postgres.
Regards
Pavel