The type information is lost so there is no autocomplete and no validation.
E.g. for *ngIf="x$ | async; let x"
or for *ngIf="x$ | async; let x: T"
the x
itself is available in autocomplete and validated, but it has no type. So there is no autocomplete for x.
and x.invalidmember
passes validation.
This is super important feature as ngif and ngfor variables were introduced to get rid of subscriptions or multiple async, but without autocomplete and validation they are hard and dangerous to work with.
Another related problem: https://www.genuitec.com/forums/topic/no-type-in-ngfor-for-iterable-interface-in-template-validator-autocomplete/