trail? env?

the cons for trail:
  variable need be reset when new solver is setup.
  callcc/callfc/callsc play bad with trail.

the pros for trail:
  undo maybe spend less time than copy bindings when branch?
try to save variable's binding in solver

try to save variable's binding, but it is boring work to implement the feature. canceled.
comment, cleanup and reorganize

add some comment as document, cleanup some things, reorganize the folder.
some comment, try push to github

why push fails?