If the V1 program has char[] x = any.std.string.StringFunctionFromV1(); it won't compile because it complains about the type conversion. Also, because a version block has to be syntactically correct, you can't isolate v1/v2 differences because the syntax has changed.