Need an interface that is similar to what names() function returns when it takes a DataFrame in its argument (name of all columns). One way, as pointed out by @davidanthoff to do this is
df |> @take(1) |> @map(fieldnames(typeof(_))) |> @mapmany(_, __)
Which is clearly not an easy way to do this.