A whole bunch of optimization See merge request !210
See reports/ for discussions of Hercules' design.
reports/