sclass AIStrategy_RandomWithVariation implements Steppable { F0 random; F1 vary; F1 submit; // returns score new Best best; int round; public void step() { go(); } 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); } }