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