renderpartial com modelo nulo recebe o tipo errado

Tenho uma página:

<%@ Page Inherits="System.Web.Mvc.View<DTOSearchResults>" %>

E nele, o seguinte:

<% Html.RenderPartial("TaskList", Model.Tasks); %>

Aqui está o objeto DTO:

public class DTOSearchResults
{
    public string SearchTerm { get; set; }
    public IEnumerable<Task> Tasks { get; set; }

e aqui está o parcial:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Task>>" %>

Quando Model.Tasks não é nulo, tudo funciona bem. No entanto, quando é nulo, recebo:

O item de modelo passado no dicionário é do tipo 'DTOSearchResults', mas este dicionário requer um item de modelo do tipo 'System.Collections.Generic.IEnumerable`1 [Task]'.

Eu imaginei que não deveria saber qual sobrecarga usar, então fiz isso (veja abaixo) para ser explícito, mas continuo com o mesmo problema!

<% Html.RenderPartial("TaskList", (object)Model.Tasks, null); %>

Eu sei que posso contornar isso, verificando se é nulo ou nem mesmo passando nulo, mas esse não é o ponto. Por que isso está acontecendo

questionAnswers(7)

yourAnswerToTheQuestion