(module cmp_max_smoke
  (fn cmp_max
    (type (forall (vars a) (constraints (constraint prelude.Ord a)) (fn-type (params (own a) (own a)) (ret (own a)))))
    (params x y)
    (body (match (app compare x y)
      (case (pat-ctor LT) y)
      (case _ x))))
  (fn main
    (type (fn-type (params) (ret (own (con Unit))) (effects IO)))
    (params)
    (body (app print (app cmp_max 3 7)))))
