How does the reified keyword in Kotlin work?

How does the reified keyword in Kotlin work?