There are ways to deal with that in dynamically typed languages.<p>1) Common Lisp implementation use a compiler to detect typos, etc.<p><pre><code>    CL-USER 21 &gt; (defun bar () (fo0))
    BAR

    CL-USER 22 &gt; (compile *)

    The following function is undefined:
    FO0 which is referenced by BAR
</code></pre>
2) In Common Lisp one can ask the running Lisp system for information about classes, symbols, functions, etc.<p>The use cases for renaming are also completely different. If you take for example a Java class and you want to rename an attribute and update the getter&#x2F;setters you might want to use a &#x27;tool&#x27;. In a dynamically typed language like Common Lisp, this is often not necessary because code generation is widely used and changes can be propagate that way.