Code for evaluating equality of arbitrary expressions
Changes from code review, I think. Made typ use ExpLit instead of typ_inner
Updating documentation
Refactored match statements to use new expression equality function
Minor fixes