autoClose

open fun <A> autoClose(acquire: () -> A, release: (A, Throwable?) -> Unit): A