+ *
+ * The extensibility scheme for the SIDE ABI is as follows:
+ *
+ * * Existing field types are never changed nor extended. Field types
+ * can be added to the ABI by reserving a label within
+ * enum side_type_label.
+ * * Existing attribute types are never changed nor extended. Attribute
+ * types can be added to the ABI by reserving a label within
+ * enum side_attr_type.
+ * * Each union part of the ABI has an explicit side defined by a
+ * side_padding() member. Each structure and union have a static
+ * assert validating its size.
+ *
+ * Handling of unknown types by the tracers:
+ *
+ * * A tracer may choose to support only a subset of the types supported
+ * by libside. When encountering an unknown or unsupported type, the
+ * tracer has the option to either disallow the entire event or skip
+ * over the unknown type, both at event registration and when
+ * receiving the side_call arguments.
+ *
+ * TODO: extend event description with new fields ?