{% 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) }}
