atMostOnce

inline fun <A> atMostOnce(crossinline f: suspend () -> A): SuspendEval.AtMostOnce<A>