started on variable-tracking constraint solver
add constraint solution checker
update subexps instead of remove+add