fun <A, P> wrap(f: (R2) -> (P) -> A): (R2) -> Pair<(P) -> Out<Either<E1, E2>, A>, R2>
Wrap a business function in a given effect
Gives back "wrapped function"