コード自体はかけたのですが、もう少し上手くかけないかと思い質問致します。

a = [[2014, 3], [2014, 5], [2015, 4], [2016, 2], [2016, 8]]

という配列から、配列の初めの要素に入っている年号をキーにした

{2014 => [3, 5],
 2015 => [4],
 2016 => [2, 8]}

というHashを生成したく

a.group_by(&:first).map{|k, v| [k, v.map(&:last)]}.to_h

と書いたのですがかなりわかりにくい気がするので

h = {}
a.each do |k, v|
  h[k] ||= [] 
  h[k] << v
end
h

としました。できればもう少しすっきり書きたいのですがもっとシンプルな書き方はありますか?