todo expression --------------- Behaves like the "undefined" value. Optionally prints an error message and/or terminates the program (depending on which command line options were given to the compiler) when the keyword is used in an expression. int i; i = todo; // error at runtime! "assigns" undefined to i i.print(); // error and/or prints garbage (i has an undefined value) The todo expression can be used as a statement, like this: () f(bool x, bool y) { if (x) todo; // error at runtime! if (y) { "y is true".print() todo; // error at runtime! } } () g() { todo; // error at runtime! } todo in loops ------------- for (int i in todo) { // error at runtime! behaves like [] i.print(); // not executed } todo types ---------- Behaves like a private / undefined type. typedef A = todo;