… and while we’re on the subject…

Why don’t email applications cache IMAP email messages locally? I mean, requiring an internet connection for IMAP message viewing constrains it to the level of webmail. Wouldn’t it make more sense to cache all previously-viewed messages locally, so that they can be perused at the user’s pleasure, weather or not they are connected to the tubes?