Why does comparing two `interface{}` values where both hold an uncomparable dynamic type (e.g. a slice) cause a run-time panic rather than a compile-time error?var a interface{} = []int{1} var b interface{} = []int{1} _ = a == b