There are at least some issues that must be addressed:
we need to generate fields for both models
we need to handle cases like this one
a = new A();
var b = ref a.f;
foo(a);
The problem is that with our current approach "foo" is not aware that field f needs to be model with addresses. So it uses the BCT style. It only works when you invoke foo(ref a) or foo(ref a.f).
There are at least some issues that must be addressed:
The problem is that with our current approach "foo" is not aware that field f needs to be model with addresses. So it uses the BCT style. It only works when you invoke foo(ref a) or foo(ref a.f).