It might be concise for very simple actions. Making an efficient complex client is another matter. IMAP isn't as simple as most of the other Internet protocols, it has all sorts of complications over and above things like SMTP, HTTP etc

IMAP is not a simple question, answer, question, answer (ad infinitum) protocol. You can get data back in an answer that isn't directly connected with the question for example (telling you that the message counts have changed).

If you want an efficient client it needs to be much more stateful than the average Internet protocol client app.

Also, if I wrote a client I would want to "do it properly" which means making it work with various servers that don't quite do what the RFC suggests that they should...
_________________________
Remind me to change my signature to something more interesting someday