Wait ! "x.value -= 100;" would call the invariant ? Alias this only rewrites your expression: "x -= 100;" becomes "x.value -= 100;"No method is called. Then there is no reason (is there ?) to call the invariant.
If you would create getter/setter properties ...