Evite usar aserciones de tipo en las ramas de un interruptor de tipo

Yo uso interruptores de tipo en Go, p. el siguiente:

switch question.(type) {
case interfaces.ComputedQuestion:
    handleComputedQuestion(question.(interfaces.ComputedQuestion), symbols)
case interfaces.InputQuestion:
    handleInputQuestion(question.(interfaces.InputQuestion), symbols)
}

¿Hay alguna manera de evitar que tenga que hacer valer el tipo de pregunta dentro del caso antes de poder pasarla a otra función?

Respuestas a la pregunta(1)

Su respuesta a la pregunta