I had to maintain code in old VB 4,5,6... It's a pain.
variant b = 1
b = "123"
b = 1.2
You never know what the current type of the variable is. I mean you never know it from just inspecting a piece of code. You need to know all the ways how the code is entered etc.
I'm against methods that look that's definitions look this way:
public var Foo(var j, var g)
I'm not against dynamic languages at all! I like Haskell or Lisp. But I think if somebody extends a language it should be well thought and not everything at once! Tweak it were tweak is necessary and not add everything, just because one guy wants it. That leads
into complex scenarios. I'm also a guy that likes the easy stuff. Something that is complex, is just something easy made complex. The real goal is to make stuff easy. Not complex.