Example of set + literal (1, 2, 3) (OK) vs. set + val tuple (not OK)

Adding a comment on a puzzling case where set + literal compiles fine, but set + val fails to compile.  I'm wondering what type the compiler is thinking that the parenthesized list amounts to, or what sort of convenience shortcut is being invoked.