Operações Array legais e concisas

Mesclar matriz de hashes em um hash

a = [{a: 1, b: 2,c: 3},{b: 4, d: 1},{b: 3,c: 1}]
a
.reduce(&:merge)

=> {:a=>1, :b=>3, :c=>1, :d=>1}

Remover hashes vazios da matriz

a = [{},{a: 1},{},{}]
a
.reject(&:empty?)

=> [{:a=>1}]