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

Hear, hear. IMAP is baroque and hairy for the simple things[1] without actually providing the complex things you want (there's no way to search in multiple folders, for instance, let alone isearch, and no way to change a message's title in case you want to relabel "Re: Functional Spec" as "Marketing go off on one about EQ").

Peter

[1] Try and find, for instance, an unambiguous description of how to derive "part numbers" for FETCH BODY[4.2.1] from the insane pseudo-Lisp you get from FETCH BODYSTRUCTURE.