The problem is mostly that variadic output instruction
aren't handled, so it is rejected for having an inconsistent
number of operands, and then the right number of operands
isn't emitted.
I'm not particularly confident in custom typechecking for the
operands since it seems more complicated than it should be.
Remove this assert (getNumChildren returns an unsigned value anyhow, so NChild should be unsigned too).