# Types * #### [Alias](./alias.md) * #### [Unique](./unique.md) --- # Templates A template is an incomplete type ```text Template[Field; ...] ``` If a field in a template is not filed, one of these are required: ### Any Denotes a field in a template that has not resolved A template by name only expands to all inner fields as `Any` ## Generic.SYMBOL Generic for alias and unique types, type is replaced with type passed ## Collection[TYPE] A list of types with shape of TYPE, only can have one collection per type This represents a spread after a type field ### Void Denotes that a field that does not resolve to anything ## Value Templates * #### [Enum](./enum.md) * #### [Bit](./bit.md) ## Container Templates * #### [Group](./group.md) * #### [Buffer](./buffer.md) * #### [Map](./map.md) * #### [Queue](./queue.md) * #### [Union](./union.md) * #### [Native](./native.md) * #### [Error](./error.md) ## Qualifier Templates * #### [Const](./const.md) * #### [Empty](./empty.md) * #### [Ref](./ref.md) * #### [Shared](./shared.md) ## Function Templates * #### [Var](./var.md) * #### [Function](./function.md) * #### [Task](./task.md) * #### [Overload](./overload.md) ## AST Templates * #### [Value](./value.md) * #### [Name](./name.md) * #### [Symbol](./symbol.md) * #### [Op](./op.md) * #### [List](./list.md) * #### [Lock](./lock.md) * #### [Namespace](./namespace.md)