Como o operador ggplot2 plus é definido?

o+ geralmente joganon-numeric argument to binary operator quando fornecido com algo diferente de um número. Mas ele funciona com o ggplot2, colando o gráfico juntos. Ao mesmo tempo, ele mantém sua função usual fora do contexto do ggplot2 (por exemplo, como um operador aritmético ou de fórmula), portanto, sua versão do ggplot2 não está em conflito com nenhum deles.

Eu quero entender como fazer a+ se comportar dessa maneira. Navegando no repositório ggplot2 github, encontrei definições de função para+.gg e%+% mas isso não tornou as coisas mais claras para mim.

Eu ficaria feliz com um ponteiro para o código no pacote ggplot2 que faz isso, ou uma explicação generalizada de como isso é feito.

questionAnswers(1)

yourAnswerToTheQuestion