coerceInternal(G, _trace_, _right_1, expected);
type = expected;
} catch (Exception e) {
previousFailure = extractRuleFailedException(e);
{
<BUG>try {
boolean _or = false;
if ((leftType instanceof StringType)) {
_or = true;
} else {
_or = (rightType instanceof StringType);
}
if (!_or) {</BUG>
sneakyThrowRuleFailedException("leftType instanceof StringType || rightType instanceof StringType");

coerceInternal(G, _trace_, _right_1, expected);
type = expected;
} catch (Exception e) {
previousFailure = extractRuleFailedException(e);
{
try {
if (!((leftType instanceof StringType) || (rightType instanceof StringType))) {
sneakyThrowRuleFailedException("leftType instanceof StringType || rightType instanceof StringType");
