remove OP_IF_FAIL macros, add OP_OUT macro