A SAT solver writtein in Haskell