(module fp_value (fn sum_explicit (doc "value-type param read multiple times") (type (fn-type (params (own (con Int))) (ret (own (con Int))))) (params n) (body (if (app eq n 0) 0 (app + n (app sum_explicit (app - n 1)))))) (fn main (type (fn-type (params) (ret (own (con Unit))) (effects IO))) (params) (body (app print (app sum_explicit 10)))))