I often ask myself when in doubt: “Can there be even potentially a context when the value would be different?”. Context is usually expressed with parameters in languages like Kotlin, so if potentially even if not now, there could be parameters, then it’s clearly a function. If it’s immanent property of an entity that can not have a different value in any context – it’s a property. But that’s probably a discussion for #random 🙂