`module Id : sig ... end`
`type t`````
`val id : t ‑> Id.t`

In a given email, each attachment has a unique `Id.t` that is determined by the email structure.

`val headers : t ‑> Email_message__.Headers.t`

The headers surrounding this attachment

`val embedded_email : t ‑> Email_message.Email.t option`

`Some email` if this is an attached message/rfc822 content

`val raw_data : t ‑> Email_message.Bigstring_shared.t Core.Or_error.t`

These are expensive operations

`val md5 : t ‑> string Core.Or_error.t`
`val filename : t ‑> attachment_name`
`val to_file : t ‑> string ‑> unit Async.Deferred.Or_error.t`