`val names : string list`
`val retry_intervals : ('a t, Async_smtp_types__.Retry_interval.t list) Fieldslib.Field.t`
`val next_hop_choices : ('a t, Async_smtp_types__.Socket_address.t list) Fieldslib.Field.t`
`val envelope : ('a t, 'a) Fieldslib.Field.t`
`val fold : init:'acc__0 ‑> envelope:('acc__0 ‑> ('a t, 'a) Fieldslib.Field.t ‑> 'acc__1) ‑> next_hop_choices:('acc__1 ‑> ('a t, Async_smtp_types__.Socket_address.t list) Fieldslib.Field.t ‑> 'acc__2) ‑> retry_intervals:('acc__2 ‑> ('a t, Async_smtp_types__.Retry_interval.t list) Fieldslib.Field.t ‑> 'acc__3) ‑> 'acc__3`
`val make_creator : envelope:(('a t, 'a) Fieldslib.Field.t ‑> 'acc__0 ‑> ('input__ ‑> 'a) * 'acc__1) ‑> next_hop_choices:(('a t, Async_smtp_types__.Socket_address.t list) Fieldslib.Field.t ‑> 'acc__1 ‑> ('input__ ‑> Async_smtp_types__.Socket_address.t list) * 'acc__2) ‑> retry_intervals:(('a t, Async_smtp_types__.Retry_interval.t list) Fieldslib.Field.t ‑> 'acc__2 ‑> ('input__ ‑> Async_smtp_types__.Retry_interval.t list) * 'acc__3) ‑> 'acc__0 ‑> ('input__ ‑> 'a t) * 'acc__3`
`val create : envelope:'a ‑> next_hop_choices:Async_smtp_types__.Socket_address.t list ‑> retry_intervals:Async_smtp_types__.Retry_interval.t list ‑> 'a t`
`val map : envelope:(('a t, 'a) Fieldslib.Field.t ‑> 'a) ‑> next_hop_choices:(('a t, Async_smtp_types__.Socket_address.t list) Fieldslib.Field.t ‑> Async_smtp_types__.Socket_address.t list) ‑> retry_intervals:(('a t, Async_smtp_types__.Retry_interval.t list) Fieldslib.Field.t ‑> Async_smtp_types__.Retry_interval.t list) ‑> 'a t`
`val iter : envelope:(('a t, 'a) Fieldslib.Field.t ‑> unit) ‑> next_hop_choices:(('a t, Async_smtp_types__.Socket_address.t list) Fieldslib.Field.t ‑> unit) ‑> retry_intervals:(('a t, Async_smtp_types__.Retry_interval.t list) Fieldslib.Field.t ‑> unit) ‑> unit`
`val for_all : envelope:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> next_hop_choices:(('a t, Async_smtp_types__.Socket_address.t list) Fieldslib.Field.t ‑> bool) ‑> retry_intervals:(('a t, Async_smtp_types__.Retry_interval.t list) Fieldslib.Field.t ‑> bool) ‑> bool`
`val exists : envelope:(('a t, 'a) Fieldslib.Field.t ‑> bool) ‑> next_hop_choices:(('a t, Async_smtp_types__.Socket_address.t list) Fieldslib.Field.t ‑> bool) ‑> retry_intervals:(('a t, Async_smtp_types__.Retry_interval.t list) Fieldslib.Field.t ‑> bool) ‑> bool`
`val to_list : envelope:(('a t, 'a) Fieldslib.Field.t ‑> 'elem__) ‑> next_hop_choices:(('a t, Async_smtp_types__.Socket_address.t list) Fieldslib.Field.t ‑> 'elem__) ‑> retry_intervals:(('a t, Async_smtp_types__.Retry_interval.t list) Fieldslib.Field.t ‑> 'elem__) ‑> 'elem__ list`
`val map_poly : ([< `Read | `Set_and_create ], 'a t, 'x0) Fieldslib.Field.user ‑> 'x0 list`
`module Direct : sig ... end`