class {{ obj.name }} {
{%- for attr in obj.attrs %}
    +{{ attr.name }} : {{   attr.types|join(", ", attribute="name") }}{{ "[]" if attr.is_list else "" }}
{%- endfor %}
}
{%- for ext in obj.extensions %}
{{ obj.name }} *- {{ ext.type.name }}
{%- endfor %}
{%- for inner in obj.inner %}
{{ obj.name }} +-- {{ inner.name }}
{% with obj=inner -%}
    {%- include "class.jinja2" %}
{%- endwith -%}
{%- endfor %}
