HMRow统一 用法 using HMRowUnification tctx = HMT[] st = mk_tcstate (tctx); tvar1 = st . new_tvar () tvar2 = st . new_tvar () int_t = Nom ( :int ) # int -> int ~ 'tvar1 -> 'tvar2 # => # 'tvar1 = int # 'tvar2 = int st . unify ( Arrow (int_t, int_t), Arrow (tvar1, tvar2)) # true st . prune .([tvar1, tvar1]