More function args struct stuff, I did a bunch of work that I didn't
commit and this is the parts of that that worked.

I tried to switch all the function referances to my new structure
earlier that I should've, so I took the parts that I learned about by
that failure  and that's in this commit. Everything is just the same as
before in the compiled version but I added a bunch more code.