If I'm not wrong, the `check(cond)` does not result in helpful messages. To be more friendly to users, we should tell a) what's wrong and b) how to fix it.