; Probe whether n has a small prime factor (2, 3, 5, 7) via a
; let-threaded Bool flag. has_small_factor 91 = true (91 = 7 * 13).
; Expected stdout: true

(module mut-local_4_has_small_factor

  (fn has_small_factor
    (type (fn-type (params (own (con Int))) (ret (own (con Bool)))))
    (params n)
    (body (let found false (let found (if (app eq (app % n 2) 0) true found) (let found (if (app eq (app % n 3) 0) true found) (let found (if (app eq (app % n 5) 0) true found) (let found (if (app eq (app % n 7) 0) true found) found)))))))

  (fn main
    (type (fn-type (params) (ret (own (con Unit))) (effects IO)))
    (params)
    (body
      (app print (app has_small_factor 91)))))
