module Tip.DataConPattern where import DataCon import Var import Type import Unify dcAppliedTo :: Type -> DataCon -> ([TyVar],Maybe TvSubst) dcAppliedTo t dc = (dc_tvs,mu) where dc_tvs = dataConUnivTyVars dc res_ty = dataConOrigResTy dc mu = tcUnifyTys (const BindMe) [res_ty] [t]