> For the complete documentation index, see [llms.txt](https://base-tech.gitbook.io/base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://base-tech.gitbook.io/base/base-bigbang-language/2.-type/2.3-composites.md).

# 2.3 Composites

Composites make it easier to create larger smart contracts, as they contain multiple types.&#x20;

\
In BigBang, the type system does not allow for empty values, meaning that a boolean is always either true or false, and an integer always contains a number. However, optionals can be used to express a variable that could have a value or nothing. The optional type can have a value of the wrapped type or be empty. To utilize the optional type, wrap a different type with it. The optional type can have a value of the wrapped type or be empty. The optional type can have a value of the wrapped type or be empty. It is a powerful tool, but it must be handled properly in the code. Here are a few examples.
