Passar um argumento extra para uma função de retorno de chamada

Eu tenho uma funçãocallWithMagic que usa uma função de retorno de chamada como parâmetro e a chama com um argumento.

const callWithMagic = callback => {
  const magic = getMagic();
  callback(magic);
};

Eu também tenho uma funçãoprocessMagic o que leva dois argumentos:magic etheAnswer.

const processMagic = (magic, theAnswer) => {
  someOtherMagic();
};

Eu quero passar a funçãoprocessMagic como argumento paracallWithMagic, mas eu também quero passar42 como o segundo parâmetro (theAnswer) paraprocessMagic. Como eu posso fazer isso?

callWithMagic(<what should I put here?>);

questionAnswers(4)

yourAnswerToTheQuestion