Saver

inline fun <T> Saver(crossinline save: suspend (T?) -> Unit, crossinline restore: suspend () -> T?, crossinline recover: suspend (e: Exception) -> T? = { throw it }): Saver<T>

A Saver builder function