In short, I think it is more intuitive for users to reference Request, Response, Goal, Feedback, and Result interfaces as members of the top-level interface instead of having them as siblings of the top-level interface.
For example,
examples_interfaces.srv.AddTwoInts.Request
versus how they are currently referenced
examples_interfaces.srv.AddTwoInts_Request
Accessing these classes as members is also similar to how it's done in C++ and Python.