EF Core Incluir en múltiples colecciones de subnivel

Considere esta raíz agregada ...

class Contact 
{
    ICollection<ContactAddress> Addresses { get; set; }
    ICollection<ContactItem> Items { get; set; }
    ICollection<ContactEvent> Events { get; set; }
}

... que he usado así ...

class Person 
{
    Contact ContactDetails { get; set; }
}

¿Cómo deseo cargar todas las colecciones con el contacto?

Intenté esto ...

Context
    .Set<Person>()
    .Include(o => o.ContactDetails)
    .ThenInclude(o => o.Addresses)
    .ThenInclude(????)
    . ...

También he intentado esto ...

Context
    .Set<Business>()
    .Include(o => o.ContactDetails.Addresses)
    .Include(o => o.ContactDetails.Events)
    .Include(o => o.ContactDetails.Items)

En una nota algo relacionada, ¿es posible expresar lo que debería devolverse como parte de una raíz agregada usando una configuración fluida?

Respuestas a la pregunta(1)

Su respuesta a la pregunta