fun <T> listPlus(payload: List<List<T>>): List<T> {
var current = emptyList<T>()
payload.forEach { current = current + it }
fun <T> flatten(payload: List<List<T>>): List<T> = payload.flatten()
fun <T> ktImmutable(input: List<List<T>>): List<T> {
var current = persistentListOf<T>()
input.forEach { current += it }
fun <T> guavaImmutable(input: List<List<T>>): List<T> {
var current: ImmutableList<T> = ImmutableList.of()
input.forEach { current = ImmutableList.builder<T>().addAll(current).addAll(it).build() }