{{#if type_alias_declarations}}
## **TYPE ALIASES**

<table>
    <tr><th>Name</th><th>Value</th><th>Description</th></tr>
    {{~ #each type_alias_declarations ~}}
        <tr id="{{rpn name}}">
            <td><a href="{{sl @root.config @root.tag location}}">{{rpn name}}</a></td>
            <td>
                <code>{{~ partial_type_ctor.name ~}}</code>
                {{~ #if partial_type_ctor.maybe_size.identifier ~}}
                    [<code>{{~ pl partial_type_ctor.maybe_size.identifier @root.name ~}}</code>]
                {{~ else ~}}
                    {{~ #if (eq partial_type_ctor.maybe_size.kind "literal") ~}}
                        [<code>{{~ partial_type_ctor.maybe_size.value ~}}</code>]
                    {{~ /if ~}}
                {{~ /if ~}}
            </td>
            <td>{{~> doc ~}}</td>
        </tr>
    {{~ /each ~}}
</table>
{{/if ~}}