Multiple awaits when iterating over AsyncSequence from async property

I've noticed that for an async sequence returned from an async property, the compiler requires for loop headers to have two await keywords: (Last seen in the 9/14 trunk snapshot)

struct T: AsyncSequence { … }
var foo: T { get async { … } }
for await let bar in await foo { … }

I'm not sure I've seen this particular case covered, but I remember someone saying there was a rough intention to have at most one await statement per line.

Is this a bug or intended?