Cómo verificar la longitud de una matriz Observable

En mi componente Angular 2 tengo una matriz Observable

list$: Observable<any[]>;

En mi plantilla tengo

<div *ngIf="list$.length==0">No records found.</div>

<div *ngIf="list$.length>0">
    <ul>
        <li *ngFor="let item of list$ | async">item.name</li>
    </ul>
</div>

Pero la lista $ .length no funciona en el caso de la matriz Observable.

Actualizar:

Parece que(list $ | async)? length nos da la longitud pero el siguiente código aún no funciona:

<div>
    Length: {{(list$ | async)?.length}}
    <div *ngIf="(list$ | async)?.length>0">
        <ul>
            <li *ngFor="let item of (list$ | async)">
                {{item.firstName}}
            </li>
        </ul>
    </div>
</div>

¿Alguien puede guiar cómo verifico la longitud de la matriz Observable?

Respuestas a la pregunta(6)

Su respuesta a la pregunta