`type t`````
`include sig ... end`
`val compare : t ‑> t ‑> int`
`val hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.state`
`val hash : t ‑> Base.Hash.hash_value`
`val sexp_of_t : t ‑> Base.Sexp.t`
`val to_bigstring_shared : t ‑> Email_message.Bigstring_shared.t`
`val of_string : string ‑> t`
`val of_bigstring_shared : Email_message.Bigstring_shared.t ‑> t`
`val length : t ‑> int`
`module Expert : sig ... end`

Even though the underlying type includes an option, most users should not have to think about the difference between `Some ""` and `None`. You can use the `Expert` module to deal with the optionality, if need be.

`module Stable : sig ... end`