after http://stackoverflow.com/questions/27317069/collect-all-minimum-solutions-from-a-backtrackable-predicate