If the sub-operation is cancelled, pass a cancel error instead of empty/zero/nil values... which theoretically could happen in other legit circumstances. Let's be explicit about our situation (which callers can ignore if they want).