Until today, I thought it was clear enough, because we normally look at these kinds of things:
var t: T {
// get is () -> T
// set is T -> ()
}
func getT() -> T {
// return a T
}
That arrow going into T makes visual sense for the getter and function, but not for the setter, so I understand why it's not used for all properties.
However, the arrow would make sense for read-only computed properties:
var computedProperty: T {
// return a T
}
But why does it even exist to begin with? Why don't functions look like this?
func getT(): T {
// return a T
}
let getT: (): T = {
// return a T
}
If it were removed, we'd have a clash with [Input : Output] Dictionary syntax, but that wasn't in the language to begin with, and could be altered to [Input -> Output] and make as much or more sense.