==================
Async function with await
==================

async fn fetch(url) {
    let data = http::get(url).await;
}

---

(source_file
  (function_item
    name: (identifier)
    parameters: (parameters
      (identifier))
    body: (block
      (let_declaration
        pattern: (identifier)
        value: (await_expression
          (call_expression
            function: (scoped_identifier
              path: (identifier)
              name: (identifier))
            arguments: (arguments
              (identifier))))))))

==================
Select expression
==================

async fn race(a, b) {
    select {
        result = a => result,
        _ = b => "timeout",
    }
}

---

(source_file
  (function_item
    name: (identifier)
    parameters: (parameters
      (identifier)
      (identifier))
    body: (block
      (expression_statement
        (select_expression
          (select_arm
            pattern: (identifier)
            value: (identifier)
            body: (identifier))
          (select_arm
            value: (identifier)
            body: (string_literal
              (string_content))))))))
