user
fun List<Closeable>.use(block: () -> Unit) { when (size) { 0 -> return 1 -> first().use { block() } else -> first().use { drop(1).use(block) } } }