private static void CheckResultIsCompatibleWithCall(IReturn valueToReturn, ICallSpecification spec) { var requiredReturnType = spec.ReturnType(); if (!valueToReturn.CanBeAssignedTo(requiredReturnType)) { throw new CouldNotSetReturnDueToTypeMismatchException(valueToReturn.TypeOrNull(), spec.GetMethodInfo()); } }