I think you are being far to pessimistic about the speed of interpreters.
Some interpreters do all the checks you talk about. But good quality
implementations do a lot of compile time work (like type inferencing) to
"move" all these checks from run time to compile time.
graham
--
------------------------------------------------------
I would gladly die for a man who was looking for the
truth, but would just as gladly kill a man who thought
he had actually found it -- Voltaire
-----------------------------------------------------