Hi Miller,
well, it's intentional: you get all the pointer&integer arguments, THEN all the flost arguments. It's easier to implement message-passing efficiently this way. (I should have written this down somewhere!)
even if it's intentional, i dont like it very much. I find it better to sacrifice two or three cpu cycles for more flexibility. Of course, one can do it with gimme arguments, but it's for sure even slower then..... The reason why i stumbled across this issue is that it works in Max/MSP.
greetings, Thomas