def solve_all(failure_message = "No more solutions.")
      amb = self.new
      yield(amb)
      amb.failure
    rescue Amb::ExhaustedError => ex
      puts
      puts "#{amb.branches_count} branches explored." if $DEBUG
      amb.report(failure_message)
    end
def solve_all(failure_message = "No more solutions.")
      amb = self.new
      yield(amb)
      amb.failure
    rescue Amb::ExhaustedError => ex
      puts
      puts "#{amb.branches_count} branches explored." if $DEBUG
      amb.report(failure_message)
    end
Class convenience method to search for all the solutions to the
 constraints.