What’s the intended consequence of A()==2 in your implementation of U? Is it U()==0 or U()==10? And which of those would actually happen?
What’s the intended consequence of A()==2 in your implementation of U? Is it U()==0 or U()==10? And which of those would actually happen?