This struct represents a complete entry type definition.
It wraps EntryTypeDef defined in the DNA crate
which only represents the static parts that show up in the JSON definition
of an entry type.
What is missing from there is the validation callbacks that can not be defined as JSON
and are added here as Box
Similar to ValidatingEntryType, this provides the dynamic aspects of link definitions, the validation callbacks, and thus completes the structs in the DNA crate. The entry! macro expects an array of links that are represented by instances of this struct.