Replacing BTNGVariable>>#nextValue by nextValue | nextValue | self currentValue ifNotNil: [valuesToExplore remove: self currentValue]. nextValue := self valuesToExplore ifEmpty: [ nil ] ifNotEmpty: [self valuesToExplore anyOne]. self currentValue: nextValue. ^ nextValue
returning nil instead of self when there are no more new values makes the tests pass in BackTalkNG-Noury.20.mcz (Pharo 9) That version looks like it is work in progress but has one working solver. Stephan