(module t1_add_three
  (fn add_three
    (doc "Add three Ints.")
    (type (fn-type (params (con Int) (con Int) (con Int)) (ret (con Int))))
    (params x y z)
    (body (app + (app + x y) z)))
  (fn main
    (doc "Print add_three(1, 2, 3) and add_three(10, 20, 30).")
    (type (fn-type (params) (ret (con Unit)) (effects IO)))
    (params)
    (body (seq (do io/print_int (app add_three 1 2 3)) (do io/print_int (app add_three 10 20 30)))))