This is pretty much just changing [] to * and moving [N] to the other side of the variable name.
This is a nasty commit, sorry, but 99% of the commit is interdependent.
+load runtime support seems to be working. This is an imperfect revision of history.