`type email````=` `{`

`local_part : string;`
`domain : string option;`

`}```
`val email_of_sexp : Base.Sexp.t ‑> email`
`val sexp_of_email : email ‑> Base.Sexp.t`
`val compare_email : email ‑> email ‑> int`
`type email_with_suffix````=` `{`

`prefix : string option;`
`sender : [ `Email of email | `Null ];`
`suffix : string;`

`}```
`val email_with_suffix_of_sexp : Base.Sexp.t ‑> email_with_suffix`
`val sexp_of_email_with_suffix : email_with_suffix ‑> Base.Sexp.t`
`val compare_email_with_suffix : email_with_suffix ‑> email_with_suffix ‑> int`