static A printAndProgramLog(S s, A o) {
printAndProgramLog((endsWithLetterOrDigit(s) ? s + ": " : s) + o);
ret o;
}
static A printAndProgramLog(A a) {
S s = str(a);
print("[" + localDateWithMilliseconds() + "] " + s);
logQuotedWithDate(programLog(), s);
ret a;
}