Recent discussion found the QMARK in OAL syntax, where assignment of QMARK creates an out of scope variable placeholder. This doesn’t allow the variable to be conditionally assigned a type, and it doesn’t let it be assigned via a select statement.
Using the above example:
//Cs is a set of instances of class Class_C
Var_B = ?;
for each C in Cs
select any B related by C->Class_B[R47];
Var_B = B; <--- workaround for lack of select usage end if; end for; if (empty Var_B) end if; More discussion here.