Pretty close – same shared list of values, not texts. Probably a side effect of the compiler taking an empty list literal ({}) to be a list of generic values instead of the type specified by the list declaration, which has come up before for 6M62 and I think is a fixed bug.
The relevant generated I6:
Array LIST_CONST_16014 --> (85721088) LIST_OF_TY MAX_POSITIVE_NUMBER VALUE_TY 0 ; ! <--- VALUE_TY is incorrect
Array BC_86 --> LIST_CONST_16014 0;
Array BC_291 --> LIST_CONST_16014 0;
Array BC_300 --> LIST_CONST_16014 0;
Class K18_hint_topic
class K2_thing
...
with p18_history BC_86
...
;
Object I153_cat ""
class K18_hint_topic
with name 'cat' 'hint//p' 'topics//p'
...
with p18_history BC_291
...
;
Object I154_dog ""
class K18_hint_topic
with name 'dog' 'hint//p' 'topics//p'
...
with p18_history BC_300
...
;