However, good functional language compilers will often recognize when an object very similar to an existing one is created and then the old one thrown away, and will optimize this into a simple mutation "under-the-hood".
با این حال، کامپایلرهای زبان‌های تابعی خوب اغلب زمانی که یک شیء ساخته شده بسیار شبیه به شیء موجود باشد، تشخیص می‌دهند و سپس شیء قدیمی توسط آن‌ها دور انداخته می‌شود و این به یک جهش ساده "under-the-hood" بهینه سازی می‌شود.