merge

abstract fun merge(first: T, others: List<T>): T
open fun merge(first: T, other: T): T