!7 static L bots; abstract sclass AbstractThinkBot { transient VF1 postMessage; abstract void thinkAbout(S input); void postMessage(S s) { callF(postMessage, s); } } p { L> classes = myNonAbstractClassesImplementing(AbstractThinkBot); print("Have think classes: " + classNames(classes)); bots = map nuWithoutArguments(classes); bot(); } sS answer(S s) { for (AbstractThinkBot bot : bots) pcall { bot.postMessage = vfPrint(); TelegramMsg msg = nu(TelegramMsg, text := s); temp tempSetThreadLocal(telegram_msg_tl(), msg); bot.thinkAbout(s); } ret " "; }