Nicer warning when invalid rule index
Make constructors of Expr subclasses with companion .apply methods private
make isGround a public method
Remove legacy hardcoded lists
Set simplifications
Add synthesis rules for simplification, inlining
Drop pre-/postcondition when inlining
Inline methods/functions
Refactor inlining rules to use TreeOps functions
Partial evaluators for PureScala
Refactor some synthesis benchmarks