Posso digitar uma fatia de valores de interface?

Eu estou tentando digitar afirmação de um[]Node, para[]Symbol. No meu código,Symbol implementa oNode interface.

Aqui está algum código circundante:

<code> 43 func applyLambda(args []Node, env Env) Node {
 44     if len(args) > 2 {
 45         panic("invalid argument count")
 46     }
 47     fixed, rest := parseFormals(args.([]Symbol))
 48     return Func{
 49         Body: args[1],
 50         FixedVarNames: fixed,
 51         RestVarName: rest,
 52     }
 53 }
</code>

Aqui está o erro que recebo:

<code>./builtins.go:47: invalid type assertion: args.([]Symbol) (non-interface type []Node on left)
</code>

Tenho certeza que há uma boa razão para isso. Qual é a melhor maneira de prosseguir?

questionAnswers(2)

yourAnswerToTheQuestion