VB 配列の初期化

VBで配列の初期化をしようと以下のようにしたところ

Public Sub Main()
    Dim index As Integer
    Dim dSample() As Double
    dSample = Array(1.1, 1.2, 1.3)

    'UBoundが参照することで「型が一致しません。」というコンパイルエラー
    For index = 0 To UBound(dSample)
        MsgBox (dSample(index))
    Next
End Sub

実行時エラー '13': 型が一致しません。

となった。 わからなくって、検索しててやっと以下のサイトに到着。

Variant型変数を使わずに配列を初期化する

どうも、型指定がVariantであればエラーにならないらしい(なんで?)。

Public Sub Main()
    Dim index As Integer
    'VariantだとArrayで初期化できる
    Dim sample() As Variant
    sample = Array(1.1, 1.2, 1.3)

    For index = 0 To UBound(sample)
        MsgBox (sample(index))
    Next
End Sub

見つけたサイトに書いてあるように、配列をStringで型指定していて Splitで設定していたときがあったので てっきり型指定しても問題ないもんだと思い込んでいたが違うらしい。

うーん、それなら型指定全部いらなくない?