(module str_clone_drop_rc
  (fn main
    (doc "Iter 24.1: pin that `str_clone` participates in RC discipline AND emits correct bytes. Input is a static-Str literal; the clone produces a fresh heap-Str slab whose payload is byte-equal to the input. RC stats under --alloc=rc with AILANG_RC_STATS=1: allocs == 1 (the clone), frees == 1 (let-binder drop at scope close), live == 0.")
    (type (fn-type (params) (ret (own (con Unit))) (effects IO)))
    (params)
    (body (let s (app str_clone "hello") (seq (do io/print_str s) (do io/print_str "\n"))))))
