let pp fmt = function
  | { trace = Some p
    ; received = r } ->
    pp fmt "@[<hov>Return-Path = %a@]@\n& %a"
      pp_path p
      (pp_lst ~sep:(fun fmt () -> pp fmt "@\n& ") pp_received) r
  | { trace = None
    ; received = r } ->
    pp fmt "%a"
      (pp_lst ~sep:(fun fmt () -> pp fmt "@\n& ") pp_received) r