That's a bug. This should work:
Var empty As Dictionary(Of String, String) = {}
The bug is that right now the parser accepts {} as a dictionary literal expression, but Objo's type checker reports it as plain Dictionary and then rejects assignment to Dictionary(Of String, String).
Fixed for the next release: https://feedback.objo.dev/bug/249
With the fix, this works:
Var d As Dictionary(Of String, String) = {}
d["name"] = "Ada"
Print(d["name"])
And this correctly fails:
Var d As Dictionary(Of String, String) = {}
d["age"] = 42 # Fails