Setter is considered to be redundant in one of the following cases:
external and has no annotations.
var myPropWithRedundantSetter: Int = 0
set // redundant
var myPropA: Int = 0
private set // OK - property visibility is changed to private
var myPropB: Int = 0
external set // OK - implemented not in Kotlin (external)
var myPropC: Int = 0
@Inject set // OK - accessor is annotated
var prop: Int = 0
set(value) { // redundant
field = value
}