<% if (introduction) { %>## Introduction
<%= introduction %><% } %>
<% if (usage) { %>
<%= usage %><% } %>
<% if (seeAlso && seeAlso.length) { %>
<% for (const see of seeAlso) { %> <%= see.string %> <% } } %>
<% for (const element of elements) { %>
<%= element.description %> <% if (element.arguments.length) { %>
| Argument | Type | Required | Description |
| ------------- | ------------- | ----- | ---------------- |<% for (const arg of element.arguments) { %>
| <%= arg.name %>
| <%= arg.types %> | <% if (arg.required) { %>Yes<% } else { %>No<% } %> | <%= arg.description %> |<% } %><% } %><% if (element.returns.length) { %>
| Type | Description | | ----- | ------------- |<% for (const ret of element.returns) { %> | <%= ret.types %> | <%= ret.description %> |<% } %><% } %>
<% } %>