Attributes and event bodies can be of a complex types. With schema v2, we could have syntax like
types:
- name: gen_ai.chat_message
definition: todo
that's reusable inside other type definitions and as an attribute/event body type.
open-telemetry/semantic-conventions#2179 is an example where we define some types in JSON schema, but that doesn't look like the long term direction.