postgresql – How can the concatenation of a text and a NULL value return a non-zero result?

Affirm 1

The concatenation operator || can concatenate all string values, returning text. In Postgres, each type has a textual representation and can be converted into text. Therefore, citing the manual:

However, the string concatenation operator (||) always accept inputs other than strings, provided that at least one input is of string type

Related:

Affirm 2

Concatenate one or more NO the values ​​make the result NO.

test = # SELECT (text & # 39; foo # || NULL) IS NULL
test- #, (text bar || because 1 # NULL) IS NULL
test- #, (NULL :: bigint || text & # 39; baz & # 39;) IS NULL;
?column? | ?column? | ?column?
---------- + ---------- + ----------
t | t | t

Question

Is it possible to concatenate a text and a NULL value and get a non-zero result?

In other words, how this possible?

test = # SELECT COL IS NULL AS col_is_null
test- #, (text & # 39; foo & # 39; || col) IS NULL AS result_is_null
test- # FROM tbl;
col_is_null | result_is_null
------------- + ----------------
t | F

Apply to any version of Postgres.
One of my clients stumbled upon this, relying on the result to be NOand I found it intriguing enough to share it.
It's a trick question because I know the answer.