This is my personal opinion, so it has no bearing on the Ceylon future.
The async/await syntax sounds nice and clean, until you realize that the async keyword is extremely greedy.
Once you use async in your function/method, the whole function become async and cannot be directly called from any synchronous code.
At least this is how it seems to be working in C#