I'm convinced that Forth is the inverse of Lisp, and could be equally expressive, but because there are no parens to force matching of parameters, it's way too easy to lose things on the forth stack.
I believe that adding types and data structures to Forth, as is done in STOIC, combined with an IDE that allows you to SEE what parameters get eaten where, could make Forth viable for larger programs.
I tried to do this with MSTOICAL, which you all helped me to get to compile... but then I couldn't disentangle it from the build system, and my retina blew out... causing me to lose the ability to focus on the project.