Adicionando argumentos adicionais a uma função chamada de volta por requestAnimationFrame

Eu estou olhando para criar uma função que rola um elemento de imagem x pixels ao longo do tempo y em uma tela HTML5, usando requestAnimationFrame e delta time. O que não consigo descobrir é como adicionar mais argumentos à minha função, quando requestAnimationFrame já chama de volta minha função com um argumento (um DOMHighResTimeStamp). Tenho certeza de que o seguinte código não funciona:

function scroll(timestamp, distanceToScroll, secondsToScroll) {
  //delta = how many milliseconds have passed between this and last draw
  if (!lastDraw) {var lastDraw = timestamp;};
  delta = (0.5 + (timestamp - lastDraw)) << 0; //bitwise hack for rounding integers
  lastDraw = timestamp;

  //speed (pixels per millisecond) = amount of pixels to move / length of animation (in milliseconds)
  speed = distanceToScroll / secondsToScroll;

  //new position = current position + (speed * delta)
  position += (speed * delta);

  context.drawImage(myImage,0,position,50,50/*of 200*/,0,0,100,100);
  requestAnimationFrame(scroll(timestamp, distanceToScroll, secondsToScroll));
};

//later...
scroll(timestamp, 100, 5)
scroll(timestamp, 10, 20)

Minha pergunta é: não tenho idéia de como forçar requestAnimationFrame para continuar a chamar minha função de rolagem com meus parâmetros adicionais, quando tudo o que faz por padrão é passar apenas um argumento (um carimbo de data / hora) no retorno de chamada. Então, como faço para adicionar mais parâmetros (ou forçar o rAF a colocar o carimbo de data / hora no argumento 'timestamp')?

questionAnswers(2)

yourAnswerToTheQuestion