"Simply not possible" is too strong, but in a dynamically-typed (or "run-time typed") language, you need to do these things in a different way. With a statically-typed language, you can analyze the program text without running it to figure out all the identifiers' types. With a dynamically-typed language, you have to look at a running instance of the program. You *can* just look at the program text, but at that point you're just guessing.