How do you feel about changing this slightly and pulling the values out in the order that they were provided in the `options`? This is a bit more clear to me since we avoid the `[0][1]` shenanigans.

```diff
 def table
   [["date", *options.words].join(',')].tap do |table|
     words_by_date.each do |date, words|
-      table << [date, *words.values].join(',')
+      table << [date, words.values_at(*options.words)].join(',')
     end
   end
 end
```