///|
#borrow(elems)
extern "c" fn ffi_test_list_str(elems : Ref[FixedArray[Bytes]]) -> Unit = "moonbit_glib_test_list_str"

///|
#borrow(elems)
extern "c" fn ffi_test_slist_str(elems : Ref[FixedArray[Bytes]]) -> Unit = "moonbit_glib_test_slist_str"

///|
#borrow(elems)
extern "c" fn ffi_test_list_empty(elems : Ref[FixedArray[Bytes]]) -> Unit = "moonbit_glib_test_list_empty"

///|
pub fn test_get_list_str() -> Array[String] {
  let elems : Ref[FixedArray[Bytes]] = Ref([])
  ffi_test_list_str(elems)
  let arr : Array[String] = Array::new(capacity=elems.val.length())
  for i in 0.. Array[String] {
  let elems : Ref[FixedArray[Bytes]] = Ref([])
  ffi_test_slist_str(elems)
  let arr : Array[String] = Array::new(capacity=elems.val.length())
  for i in 0.. Array[String] {
  let elems : Ref[FixedArray[Bytes]] = Ref([])
  ffi_test_list_empty(elems)
  let arr : Array[String] = Array::new(capacity=elems.val.length())
  for i in 0..