> Of course this just JavaScript being a classical imperative language. Not much to do about that.
I think you could actually make JavaScript expression based very easily and completely backwards compatibly. Using a statement in expression position currently throws an error. So you would simply be widening the number of allowable programs.