Add tagged types
Refactor using tagged types
Add javax.mail dependency (+ local resolver)
Message mapping (+ specs)