use 'xor' function from Data.Bits
rename 'watch' to 'watchLit'
change ToySolver.SAT.detach to take SomeConstraintHandler instead of an instance of ConstraintHandler