Underscore.js: Suma de elementos en una colección

Hice un pequeño plnkraquí para mostrar lo que estoy tratando de lograr. Tengo un gran conjunto de datos, donde me gusta sumar el tipo individual para obtener un total.

Podría pensar en iterar y agregar los resultados a un objeto hash, pero me pregunto una forma más elegante de resolverlo con un subrayado. Estoy utilizando underscore.js, pero nunca he intentado reducir el mapa u otro paradigma funcional. Por favor, actualice el plnkr para aprender a hacer esto.

http://plnkr.co/edit/B5HGxhwvWsfvOR97z7TL?p=preview

var data = [ {'type': "A", 'val':2},
  {'type': "B", 'val':3},
  {'type': "A", 'val':1},
  {'type': "C", 'val':5} ];


 _.each(data, function (elm, index) {
   console.log(elm);  
 });

 /*
 Desired output

 out = [ {'type': "A", 'total':3},
  {'type': "B", 'total':3},
  {'type': "C", 'total':5} ];

 */

Respuestas a la pregunta(3)

Su respuesta a la pregunta