node.setActualResult(node.getBody().apply(THIS, new TypeCheckInfo(question.assistantFactory, local, NameScope.NAMESANDSTATE, null, null, expectedResult)));
boolean compatible = question.assistantFactory.getTypeComparator().compatible(expectedResult, node.getActualResult());
&& !question.assistantFactory.createPTypeAssistant().isType(node.getActualResult(), AVoidType.class)
&& !compatible || !node.getIsConstructor() && !compatible)
TypeCheckerErrors.detail2("Actual", node.getActualResult(), "Expected", ((AOperationType) node.getType()).getResult());
} else if (!node.getIsConstructor()
&& !question.assistantFactory.createPTypeAssistant().isUnknown(node.getActualResult()))
&& !question.assistantFactory.createPTypeAssistant().isVoid(node.getActualResult()))
TypeCheckerErrors.detail2("Actual", node.getActualResult(), "Expected", ((AOperationType) node.getType()).getResult());
} else if (!question.assistantFactory.createPTypeAssistant().isVoid(((AOperationType) node.getType()).getResult())
&& question.assistantFactory.createPTypeAssistant().hasVoid(node.getActualResult()))
TypeCheckerErrors.detail2("Actual", node.getActualResult(), "Expected", ((AOperationType) node.getType()).getResult());