Hi,
This is a minor observation, but I don't find it that confusing to differentiate between <compensate/> and <compensate scope="X"/>.
I actually think it makes sense to have the same Xml element relate to both forms of compensation, as, after-all, both do deal with compensation of their inner scopes, the latter selectively.
Compensation is a tricky feature to explain nonetheless, it seems to me that having a more descriptive name won't help that much, hence I am in favor of keeping the simplicity of the single compensate name.
For example, we don't have a <receiveInOnly/>, <receiveInOut/> instead of just <receive/>. Also <compensateInner/> seems to indicate that there is a <compensateOuter/>.
Anyway, just my opinion, either way we go is fine with me.
Sincerely,