changed typeof, which isn't supported by IBM XLC, to __typeof__.