Silly mistakes. If a and b are Python ints, Python floats, or non-complex numpy.number's, "max" returns, unchanged, the largrt of the two objects. There is no coercion to a common type. This useful behavior needs to be documented.