Don't do all the work inline.

Saving an extra indirect function call really isn't worth the hassle of a really
ugly header & loads of inline code touching this stuff.

As an added bonus, we can reinstate our varargs-ability.