bagof/3 [ISO]bagof(+Template, +Generator, -Set)
Like setof/3 except that the list (or alternative lists)
returned will not be ordered, and may contain duplicates. This
relaxation saves time and space in execution.
A goal to be proved as if by call/1.
Call errors (see ref-sem-exc).
See findall/3 for examples that illustrate
the differences among findall/3, setof/3, and bagof/3.
findall/3, setof/3, ^/2, ref-all.