Iterar sobre a matriz de objetos e alterar uma propriedade em cada objeto

Encontro-me bastante com esse padrão. Eu tenho uma matriz de objetos que recebo da minha API e preciso manipular apenas uma das propriedades em todos os objetos.

Existe uma maneira de usar ES6 / Babel ou Typescript para obter esse padrão um pouco mais declarativo?

Procurando algum truque de desestruturação puro ou algo nesse sentido.

const data = [{ foo: 1, bar: 2}, 
              { foo: 2, bar: 3},
              { foo: 3, bar: 4}];

const increment = a => a + 1;

// Here is my typical pattern
const result = data.map(o => {
    o.foo = increment(o.foo);
    return o;
})

console.log(result);

questionAnswers(5)

yourAnswerToTheQuestion