I'm having a hard time working out *how* bmax works though, it seems to me that it's relying a lot on C++ wrapppers/GCC to do it's internals stuff, which although it explains the lack of certain features, doesn't justify it.(If Road b is blocked, take another road, don't set up camp a hundred miles from home.)
C++ does low level stuff very well, and it also provides Mark with access to the C++ runtime libraries.