We are talking newbies here, remember (I know it is your job as an experienced developer to take into account all possible scenarios, and I do appreciate it), and not many newbies are expected to be aware of the possibility of ADD-ing an item_of_another_list TO an_existing_list, let alone to try to do it. Or they wouldn't be newbies.
This capacity of the ADD to silently modify Foo type to list type would only be reserved for the cases meeting two criteria:
- the value_to_be_ADDed is either a plain text or a plain number (turning into an item in the process) and
- the target variable was not defined (i.e. SET to) as a list type yet.