I agree, the same check is being made twice within the same flow of execution (thereby making the second one redundant).

re: magic of dynamic typing, care to give an example of exactly what you mean here?