Currently, if you try to assign a value to a variable with a different type, you get:
E706: Variable type mismatch To make it work, you have to first unlet the variable, which is kind of annoying if the expression you are assigning references that variable. For example, to split a string in-place, you have to do: let foo = "one,two,three" let temp = split(foo, ',') unlet foo let foo = temp unlet temp As a minor improvement, I think it would be nice if you could do: let foo = "one,two,three" let! foo = split(foo, ',')