==csv:parse==
{{Mark|Updated with Version 9.1:}} support for empty sequence.
{| width='100%'
let $records := $csv('records')
for $name at $pos in $csv('names')?*
let $values := $records?($pos)
return (
'* ' || $name || ': ' || string-join(distinct-values($values), ', ')