I encountered an inconsistency in the attribute handling. When creating a new type with a default attribute, it does not propagate as expected. Here is an example
Although this should intuitively print the empty string, it results in an error:
It seems that the definition has its own list of attributes which incorrectly overrides the type attributes. A more natural way would be to always use the type attributes and override the type attribute when both type and definition include the same attribute.