Как привести к псевдониму типа в Go?

Увидетьэтот фрагмент игры.

Соответствующий код:

type somethingFuncy func(int) bool

func funcy(i int) bool {
    return i%2 == 0
}

var a interface{} = funcy

func main() {

    _ = a.(func(int) bool)  // Works

    fmt.Println("Awesome -- apparently, literally specifying the func signature works.")

    _ = a.(somethingFuncy)  // Panics

    fmt.Println("Darn -- doesn't get here. But somethingFuncy is the same signature as func(int) bool.")
}

Первый актерский акт работает, явно объявив тип. Но второй актерский состав паникует. Зачем? Есть ли чистый способ приведения к более длинной подписи func?

Ответы на вопрос(4)

Ваш ответ на вопрос