"Email::Abstract" provides module writers with the ability to write representation-independent mail handling code. Where previously one would either have to specify the mail class required, or to build a new object from scratch, "Email::Abstract" can be used to perform certain simple operations on an object regardless of its underlying representation.