Consider a data class with defined `+` operation:

```kotlin
data class Foo(
    val bar: Int = 0
) {
    fun plus(other: Foo) {
        return Foo(bar + other.bar)
    }
}

```

Now consider a List of these classes

```kotlin
val list: List<Foo>

```

eg.

```kotlin
val list = listOf(Foo(1), Foo(2), Foo(3))
val summed = list.summed() // Foo(6)

```

How to define an operation `summed` of type `List<Foo> -> Foo` in idiomatic way which takes all elements of array and call `.plus` operation to create a single element from them?