For the python wrapper, I want to either modify the cursor idea to support a "don't care" concept.
If the path down the bdd skips over a variable, it means we don't care about it. Right now, the solution iterators are designed to explicitly account for this, and do a "ripple carry" operation over the skipped variables. (Basically, we just treat that run of variables as a binary number and keep incrementing it until a variable above it flips.)
But, in the dd python wrapper for bdds, it prefers to skip over the duplicates by simply removing the variables we don't care about from the yielded assignments at each step. ... but it ALSO has a way to opt back in.
Study the code in bdd_sols.rs
and come up with a way to do this while still supporting the current "iterate through every solution" behavior.