less covariance
more abstract problem generators
fitness value generators
problem subclassing
constant renaming
problem heuristics