// returns optimized specimen, score
static Pair racerOptimize(RandomAndVary r, F1 scorer, O... _) {
new AIStrategy_Racer_RandomWithVary strategy;
strategy.submit = scorer;
strategy.random = func -> A { r.randomInstance() };
strategy.vary = func(A a) -> A { r.varyInstance(a) };
ret bestAsPair(runStrategyWhileImprovement(strategy, _));
}