o changed Document.Machine to combine map lookups with membership tests during parsing. This ensures a more reliable set of error messages by removing the calls to ! (a partial function)
o z3 has to be updated. run_tests.hs now tests the vesion of z3 to make sure we are using the right one.