docs: protected LightweightTypeReference getExpectedType(XtendExecutable executable, JvmTypeReference declaredReturnType) {
  		if (declaredReturnType == null) {
  			// Try to get any inferred return type.
  			if (executable instanceof XtendFunction) {
  				final XtendFunction function = (XtendFunction) executable;
  				final JvmOperation operation = this.sarlAssociations.getDirectlyInferredOperation(function);
  				if (operation != null) {
  					return Utils.toLightweightTypeReference(operation.getReturnType(), this.services);
  				}
  			}
  			if (!getEarlyExitComputer().isEarlyExit(executable.getExpression())) {
  				return getExpectedType(executable.getExpression());
  			}
  			return null;
  		}
  		if (!"void".equals(declaredReturnType.getIdentifier())) { //$NON-NLS-1$
  			return Utils.toLightweightTypeReference(declaredReturnType, this.services);
  		}
  		return null;
  	}