Это моё личное мнение, оно может быть и неправильным.
Конечно и без всего этого, вот как в Scala сделали, или ещё где-то, когда язык работает поверх VM с классами. Но такая организация не даст скажем запихнуть программу в какой-нибудь embedded, а вот хаскель при желании можно туда засунуть.