I am guessing you are a point D/D' in the diagram [1]
Although the diagram is for the Rust overall, I think something similar is true for async Rust.
All I would say is hang in there. It gets better (from my experience).
Rust is not something you can code along as you think. There is a bit a of upfront thinking what the data-structures & data-flow look like.
At present, I can know in advance without writing code whether implementation I am thinking in Rust will work or not (work => satisfy Rust compiler)