a toy SAT solver written in Rust (mostly to experiment with some optimizations that seem difficult for the ownership model)