{% macro render(item, depth=0) %}
    {% set type = type_name(item) %}

    {% if type == 'tuple' or type == 'list' %}
        {% if not item %}
            Empty {{ type }}.
        {% else %}
            {% for n in item %}
                {{ loop.index }}) {{ render(n, depth + 1) }}<br/>
            {% endfor %}
        {% endif %}
    {% elif type == 'bool' %}
        {% if depth == 0 and item %}
            OK
        {% else %}
            <span class="type-bool">{{ item }}</span>
        {% endif %}
    {% elif type == 'str' or type == 'unicode' %}
        "{{ item }}"
    {% elif type == 'bytes' %}
        "{{ item.decode('utf-8') }}"
    {% elif type == 'TextWrapper' %}
        <pre>{{ item }}</pre>
    {% elif type == 'dict' %}
        {% for k, v in item.items() %}
            {{ loop.index }}) {{ k }} - {{ render(v, depth + 1) }}<br/>
        {% endfor %}
    {% else %}
        {{ item }}
    {% endif %}
{% endmacro %}
{{ render(result) }}