variable and expression versioning