`type 'a t````=` `{`

`envelope : 'a;` | (** Next hops to try. If the first one fails, we are done, otherwise try sending to the second one, etc. *)
`next_hop_choices : Async_smtp_types__.Socket_address.t list;`
`retry_intervals : Async_smtp_types__.Retry_interval.t list;`

`}```
`include sig ... end`
`val sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.t`
`val retry_intervals : 'a t ‑> Async_smtp_types__.Retry_interval.t list`
`val next_hop_choices : 'a t ‑> Async_smtp_types__.Socket_address.t list`
`val envelope : 'a t ‑> 'a`
`module Fields : sig ... end`
`val compare : ('a ‑> 'a ‑> int) ‑> 'a t ‑> 'a t ‑> int`
`val hash_fold_t : (Base.Hash.state ‑> 'a ‑> Base.Hash.state) ‑> Base.Hash.state ‑> 'a t ‑> Base.Hash.state`
`type 'a create``= envelope:'a ‑> next_hop_choices:Async_smtp_types__.Socket_address.t list ‑> retry_intervals:Async_smtp_types__.Retry_interval.t list ‑> 'a t```
`type 'a set``= ?⁠sender:Async_smtp_types__.Sender.t ‑> ?⁠sender_args:Async_smtp_types__.Sender_argument.t list ‑> ?⁠recipients:Email_address.t list ‑> ?⁠rejected_recipients:Email_address.t list ‑> ?⁠route:string option ‑> ?⁠next_hop_choices:Async_smtp_types__.Socket_address.t list ‑> ?⁠retry_intervals:Async_smtp_types__.Retry_interval.t list ‑> 'a```