Dplyr Mutate_each para conjuntos de colunas emparelhados

Existe uma maneira de conseguir a seguinte transformação usando dplyr :: mutate_each?

data.frame(x1 = 1:5, x2 = 6:10, y1 = rnorm(5), y2 = rnorm(5)) %>%
  mutate(diff1 = x1 - y1, diff2 = x2 - y2) 

##   x1 x2          y1         y2       diff1     diff2
## 1  1  6  1.03645018 -0.8602099 -0.03645018  6.860210
## 2  2  7 -1.10790835  1.6912875  3.10790835  5.308712
## 3  3  8  0.95452119  2.7232657  2.04547881  5.276734
## 4  4  9  0.01370762  1.6385765  3.98629238  7.361424
## 5  5 10  0.19354354 -1.0464360  4.80645646 11.046436

Sei que este é um exemplo trivial e é fácil de fazer, como descrevi, mas estou tentando realizar algo semelhante com um conjunto muito maior de colunas.

Obrigado

questionAnswers(2)

yourAnswerToTheQuestion