static A androidEvalInUIThread(final F1 f) {
final new Var v;
final new Var error;
final new Flag done;
androidUI(r {
try {
v.set(callF(f));
} catch e {
error.set(e);
} finally {
done.raise();
}
});
done.waitUntilUp();
if (error.has()) throw rethrow(error!); else ret v!;
}