scala, Passando um operador como argumento de uma função

Eu tenho este código:

for( i <- 0 to 8){
  ((numbers(i) - i)/3).abs + ((numbers(i) - i)%3).abs
}

e eu gostaria de fazer, como diz o título, algo assim

for( i <- 0 to 8){
  by3(numbers(i), i, /) + by3(numbers(i), i, %)
}

def by3(a: Int, b: Int, op: Int => Int) = ((a - b) op 3).abs

e provavelmente também usar uma função parcialmente aplicada para isso ... mas agora isso seria possível? Como?

questionAnswers(3)

yourAnswerToTheQuestion