Temel sınırlama basitçe JVM'nin bayt kodunda kuyruk aramaları sağlamaması ve sonuç olarak JVM üzerine inşa edilmiş bir dilin kendi kendine kuyruk aramaları sağlamasının doğrudan bir yolu olmamasıdır. Benzer bir etki (örn. Tramplen) elde edebilen geçici çözümler vardır, ancak bunlar, korkunç bir performansın ve bir hata ayıklayıcıyı işe yaramaz hale getiren üretilen ara kodu gizlemenin ciddi maliyetiyle gelir.
Bu nedenle Sun, JVM'nin kendisinde kuyruk çağrılarını uygulayana kadar JVM, üretim kalitesinde işlevsel programlama dillerini destekleyemez. Bunu yıllardır tartışıyorlar, ancak kuyruk çağrılarını uygulayacaklarından şüpheliyim: bu çok zor olacak çünkü bu tür temel işlevleri uygulamadan önce sanal makinelerini zamanından önce optimize ettiler ve Sun'ın çabası işlevsel diller yerine dinamik dillere odaklanıyor.
Bu nedenle, Scala'nın gerçek bir işlevsel programlama dili olmadığına dair çok güçlü bir argüman var: Bu diller, Scheme'nin 30 yıldan uzun bir süre önce piyasaya sürülmesinden bu yana, kuyruk çağrılarını temel bir özellik olarak görüyorlar.