sclass AIStrategy_RandomWithVariation {
F0 random;
F1 vary;
F1 submit; // returns score
new Best best;
int round;
void go {
A guess = guess();
best.put(guess, callF(submit, guess));
}
A guess() {
if (odd(round++) && vary != null && best.has())
ret callF(vary, best!);
else
ret callF(random);
}
}