ersatz-0.5: A monad for expressing SAT or QSAT problems using observable sharing.