go-interface

Тип преобразования срезов интерфейсов в go

мне любопытно, почему go неявно преобразует []T до []interface{} когда он будет неявно преобразовать T до interface{}. Есть ли что-то нетривиальное в этом преобразовании, что мне не хватает? пример: func foo([]interface{}) { /* do something */ } ...