#573 and a recent discussion on IRC show that it would be nice to have human-readable messages in some ARG_CHECK cases, e.g., when the context was created with the wrong flags.
[libsecp256k1] illegal argument: secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_ctx) is not exactly helpful to the user, and passing the wrong context is a likely mistake, not only for new users.
The same is true for example for !secp256k1_fe_is_zero(&ge->x) (in pubkey_load).
I believe for most ARG_CHECKs, it's not that big of an issue because they're of the form prealloc != NULL and this is easy to parse.