fun <T> transient(initializer: () -> T): PropertyDelegate<T>
A simple wrapper that enables the use of Kotlin's val x by transient { ... }
syntax. Such a property
will not be serialized, and if it's missing (or the first time it's accessed), the initializer will be
used to set it up.