Tim,
Well, at least it would be a first step in moving away from lisp. I would really like more mainstream base language that supports parallel code and more powerful libraries for graphics and so on. I think parallel code is very important, I think mathematics has a lot of inherent parallelism (vectors for example).
The main issue is that I find it extremely difficult to work out what a given piece of Lisp/boot code does. If I look at a given function there is no clues about the structure of its parameters or what variables are being used or what they are used for. I think it's because Lisp/boot uses a single type (feels like dynamic typing) and global variables it is very hard to understand code. I suspect your answer to this might be documentation and I agree that documentation is very important but I don't think it's a fix for spaghetti code.
I can see that Lisp is quite mathematical (lambda calculus) and I can see that it allows the original programmer to be very creative, but when trying to understand other peoples code, creative is not what I need. I want a language with meaningful types and minimal global variables.