WorkerBoundReference(value: T)

A shared reference to a Kotlin object that doesn't freeze the referred object when it gets frozen itself.

After freezing can be safely passed between workers, but value can only be accessed on the worker WorkerBoundReference was created on, unless the referred object is frozen too.

Note: Garbage collector currently cannot free any reference cycles with frozen WorkerBoundReference in them. To resolve such cycles consider using AtomicReference<WorkerBoundReference?> which can be explicitly nulled out.