let pp_received fmt r =
let pp_elem fmt = function
| `Addr v -> Address.pp_mailbox' fmt v
| `Domain v -> Address.pp_domain fmt v
| `Word v -> Address.pp_word fmt v
in
match r with
| (l, Some date) ->
pp fmt "Received = { @[<hov>%a;@ date = %a@] }"
(pp_lst ~sep:(fun fmt () -> pp fmt "@ ") pp_elem) l
Date.pp date
| (l, None) ->
pp fmt "Received = @[<hov>%a@]"
(pp_lst ~sep:(fun fmt () -> pp fmt "@ ") pp_elem) l