(module main)

(fn label () -> string
  "slovo")

(fn echo ((value string)) -> string
  value)

(fn local_label () -> string
  (let value string (label))
  value)

(fn label_len () -> i32
  (string_len (local_label)))

(test "string literal equality"
  (= "slovo" "slovo"))

(test "string parameter equality"
  (= (echo "runtime") "runtime"))

(test "string call return equality"
  (= (local_label) "slovo"))

(test "string byte length"
  (= (label_len) 5))

(fn main () -> i32
  (print_string (local_label))
  (label_len))
