Several named fields that belong together, each a type or a sentence
(text, described), as in ai(). Records come back as tibble columns
(tidyr::unpack() spreads them). A record holds only the members it
names: a tibble given for one with another column is refused, never
sent, so select the record's columns first (dplyr::select()).