Problema de conversión de LINQ a entidades

Estoy tratando de filtrar una consulta LINQ-to-persons de forma genérica, pero sigo recibiendo un error. Aquí hay un fragmento de código:

private IQueryable<T> FilterDeletedEntities<T>(IQueryable<T> entities)
{
    if (typeof(IDeletable).IsAssignableFrom(typeof(T)))
    {
        var deletableEntities = (IQueryable<IDeletable>)entities;
        deletableEntities = deletableEntities.Where(entity => !entity.Deleted);
        entities = (IQueryable<T>)deletableEntities;
    }
    return entities;
}

Básicamente estoy tratando de filtrar las entidades eliminadas (es decir, el campo 'Eliminado' es 'verdadero'), si y solo si la entidad es IDelectable (es decir, tiene el campo 'Eliminado'). El problema es que no puedo devolver IQueryable <IDeletable> a IQueryable <T>.

¿Alguna idea sobre cómo solucionar este problema? Y antes de preguntar: sí, este métodotien para ser genérico.

¡Gracias por adelantado