static S callStaticAnswerMethod(L bots, S s) { for (O c : bots) try { S answer = callStaticAnswerMethod(c, s); if (!empty(answer)) ret answer; } catch (Throwable e) { print("Error calling " + getProgramID(c)); e.printStackTrace(); } ret null; } static S callStaticAnswerMethod(O c, S s) { S answer = (S) callOpt(c, "answer", s, litlist(s)); if (answer == null) answer = (S) callOpt(c, "answer", s); return emptyToNull(answer); } static S callStaticAnswerMethod(S s) { ret callStaticAnswerMethod(mc(), s); } static S callStaticAnswerMethod(S s, L history) { ret callStaticAnswerMethod(mc(), s, history); } static S callStaticAnswerMethod(O c, S s, L history) { S answer = (S) callOpt(c, "answer", s, history); if (answer == null) answer = (S) callOpt(c, "answer", s); return emptyToNull(answer); }