procedure main() every write(quibble([] | ["ABC"] | ["ABC","DEF"] | ["ABC","DEF","G","H"])) end procedure quibble(A) join := s := "" while s := pull(A)||join||s do join := if *join = 0 then " and " else ", " return "{"||s||"}" end