Clean up and unified treatment for complex values.

