I have often thought (void) should be a real type. I even think sizeof(void) should be 0, and ((void)[])s shouldn't take up much space, etc. I too wonder why (void) is a second-class citizen.