Adiciona vline ao enredo existente e aparece na legenda ggplot2?

Eu tenho alguns dados que estou usando para traçar um histograma. Eu também tenho dois conjuntos de limites que têm algum significado.

Eu sou capaz de plotar o histograma e as vlines com os estilos apropriados. No entanto, não consigo que minhas vlines apareçam na legenda. Acredito que algo assim deve funcionar, no entanto, os itens da legenda nunca são exibidos.

df <- data.frame(val=rnorm(300, 75, 10))

cuts1 <- c(43, 70, 90)
cuts2 <- c(46, 79, 86)

ggplot(data=df, aes(x=val)) +
  geom_histogram() +
  geom_vline(xintercept=cuts1,
             linetype=1,
             color="red",
             labels="Thresholds A",
             show_guide=TRUE) +
  geom_vline(xintercept=cuts2,
             linetype=2,
             color="green",
             labels="Thresholds B",
             show_guide=TRUE)

Alternativamente, se eu construir um data.frame para meus cortes e fazer um mapeamento estético, posso fazer com que meus vlines apareçam na legenda. Infelizmente, a legenda me dá duas instâncias dos diferentes tipos de linhas sobrepostas umas às outras:

cuts1 <- data.frame(Thresholds="Thresholds A", vals=c(43, 70, 90))
cuts2 <- data.frame(Thresholds="Thresholds B", vals=cuts2 <- c(46, 79, 86))

ggplot(data=df, aes(x=val)) +
  geom_histogram() +
  geom_vline(data=cuts1, aes(xintercept=vals, shape=Thresholds),
             linetype=1,
             color="red",
             labels="Thresholds A",
             show_guide=TRUE) +
  geom_vline(data=cuts2, aes(xintercept=vals, shape=Thresholds),
             linetype=2,
             color="green",
             labels="Thresholds B",
             show_guide=TRUE)

Então, no final, o que eu estou procurando, é a maneira mais direta de adicionar manualmente dois conjuntos de linhas a um gráfico, e depois fazê-los aparecer corretamente na legenda.

questionAnswers(1)

yourAnswerToTheQuestion