let map pp1 pp2 fmt =
  list ("[""; ""]") (assign pp1 pp2) fmt