Reorganize directories
Refactor benchmarks
Update benchmarks
Micro-optimization

* Avoid some cons'ing of unmodified trees
* Type declarations
* Avoid some funcall's