Why are SDL event types duplicated

The structs in the SDL_Event union contain duplicated event type information. I don’t understand why.

For example, for an event of type SDL_MOUSEBUTTONDOWN I have
event->type
and
event->button.type

and both have the value SDL_MOUSEBUTTONDOWN.

What is the rationale for having a duplicated type entry in event->button.type when event->type is the same. What is the use of it? Should this field not be set in all the examples involving SDL_PushEvent()? Why is it not being set in those examples?