For messages, a list of the content of the fields is
returned.
For message type descriptors, a list containing
nested type descriptors (Descriptor objects),
enum type descriptors (EnumDescriptor objects),
then field descriptors (FieldDescriptor objects) in that order.
For enum descriptors, a named list of the enumerated values.
For file descriptors, a named list of descriptors defined in the
specified file descriptor.
For service descriptors, ...