Are Kotlin singletons (more specifically, object declarations) thread-safe by construction? If not, what is the best practice to write thread safe singletons in Kotlin?
I would guess they are, but I haven't been able to find any explicit statement about it in the docs.