Data type extensibility and composition

You’re right that having to provide @extent will be a pain. I think either the tooling approach or making @sealed the default are the best options.

I’d rather make @sealed the default since this also gets rid of the default extent formula and makes naive implementations or prototyping with UAVCAN more immediate and successful. It seems like any datatype author would start with a prototype and only need to think about the future when finalizing a design. It’s in this later phase of a project that one would take the time to calculate extents properly.