Create a list of the instantiations Template gets
successively on backtracking over Goal and unify the result
with Bag. Succeeds with an empty list if Goal has
no solutions.
findall/3
is equivalent to bagof/3
with all free variables appearing in Goal scoped to
the Goal with an existential (caret) operator (^),
except that bagof/3
fails when Goal has no solutions.