Maybe I'm stoopid, but I kind of need this illustrated for me.
When using 3OP+M2 and you have corner permutation parity, what do you do to fix this? I'm trying to figure out how to do this without stuffing up the edges. E.g. I memo edges. All good. Then I memo corners, and find out I have parity. If I executed corners and then did a 2/2 swap, wouldn't the edges that I just memoed be wrong?
My brain hurts.
If your corner buffer is ULB, then perform an R perm once you've solved corners to swap UL and UB, as well as UBR and URF. Then solve edges normally. Once edges are solved, do U' F2 U M2 U' F2 U, followed by that same R perm again.
(This is assuming that for your last corner you simply use a PLL to swap your buffer with the unsolved corner, also swapping UL and UB in the process.)
If you solve edges first, all you have to do is U' F2 U M2 U' F2 U in between edges and corners.
Hope this helped.