Find the CHR constraints from the store. These are accessible
through the nondet predicate current_chr_constraint/1. Doing a
findall/4 however would loose the bindings. We therefore rolled
findallv/4, which exploits non-backtrackable assignment and
realises a copy of the template without disturbing the bindings
using this strangely looking construct. Note that the bindings
created by the unifications are in New, which is newer then the
latest choicepoint and therefore the bindings are not trailed.
duplicate_term(Templ, New),
New = Templ