Stop passing UDT's through ellipsis - it messes up strictly conforming compilers (EDG and Metrowerks). Tighten up the tests for function and member [function] types.