properly handle `mutate` call on virtual states
- `realize` zeroes `VIRTUAL` bit, disallows reentrance to `mutate`
- `mutate` short-circuits if strong-immutable
Fixes #5