What am I doing wrong???

Oh, I think the thing here is that when you’re in the carry out, the parser makes the assumption that the action has succeeded. This is different from “rule succeeds,” which basically* says “Stop this rulebook right now! And tell the action-processing machinery that the rulebook was a success, which will usually completely halt processing of the action!” (This is what “After” rules do by default.) In most cases you don’t need to worry about the finer points of the difference between rules succeeding and failing, or actions succeeding and failing–the important thing is that “rule succeeds” (like “rule fails”) stops the processing of the action.

*I think. This is convoluted and I don’t always have a clear grasp on it. It was only fairly recently that I learned that “rule fails” and “… instead” don’t do exactly the same thing.