(module test_22b3_coherence_two_instances
  (class R
    (param a)
    (method r
      (type (fn-type (params (own a)) (ret (own (con Int)))))))
  (instance
    (class R)
    (type (con Int))
    (method r
      (body (lam (params (typed x a)) (ret (con Int)) (body 11)))))
  (instance
    (class R)
    (type (con Bool))
    (method r
      (body (lam (params (typed b a)) (ret (con Int)) (body 22)))))
  (fn main
    (type (fn-type (params) (ret (own (con Unit))) (effects IO)))
    (params)
    (body (seq (seq (app print (app r 0)) (do io/print_str "\n")) (seq (app print (app r true)) (do io/print_str "\n"))))))
