por qué las asignaciones no son declaraciones

Tengo el siguiente código:

class Presenter { private var view : View? = null fun attachView(view: View) = this.view = view // error: Assignment is not a statement fun detachView() = view = null // error: Assignment is not a statement } 

Sé que solo puedo escribir:

 class Presenter { var view : View? = null } 

y más tarde en el código solo llame a presenter.view = View() y presenter.view = null lugar de attachView / detachView . Pero creo que esto es mucho less legible.

Entonces, ¿por qué no puedo usar las asignaciones como cuerpos de expresiones en Kotlin? ¿Por qué la asignación no es solo una statement de tipo Unit ?