> For the complete documentation index, see [llms.txt](https://wiki.redmodding.org/redscript/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.redmodding.org/redscript/references-and-examples/common-patterns.md).

# Common Patterns

- [Safe downcasting](https://wiki.redmodding.org/redscript/references-and-examples/common-patterns/safe-downcasting.md)
- [Class constructors](https://wiki.redmodding.org/redscript/references-and-examples/common-patterns/class-constructors.md)
- [Hash maps](https://wiki.redmodding.org/redscript/references-and-examples/common-patterns/hash-maps.md)
- [Heterogeneous array literals](https://wiki.redmodding.org/redscript/references-and-examples/common-patterns/heterogeneous-array-literals.md)
- [DelaySystem and DelayCallback](https://wiki.redmodding.org/redscript/references-and-examples/common-patterns/delaysystem-and-delaycallback.md)
- [Generic callbacks](https://wiki.redmodding.org/redscript/references-and-examples/common-patterns/generic-callbacks.md): This guide will show you how you can declare a generic callback thanks to Codeware's reflection.
- [Persistence](https://wiki.redmodding.org/redscript/references-and-examples/common-patterns/persistence.md)
