Maybe we could improve upon the names, so that we don't repeat the `mode` word? E.g. `mode.inExprMode` => `mode.isExpr`.