読んでてHaskellのIOモナドみたいとか思った。
asyncが>>=でawaitがreturn。
(Haskellのreturnは戻り値にIOを被せる)

実行順序がコード通りとは限らないと言う意味では遅延評価も非同期か。