arrow-core / arrow.core.extensions / OptionTraverse / foldRight
open fun <A, B> OptionOf<A>.foldRight(lb: Eval<B>, f: (A, Eval<B>) -> Eval<B>): Eval<B>
Do you like Arrow?