+ go _ (TyVarTy tv) | isMetaTyVar tv
+ = subst -- Don't fail if the template has more info than the target!
+ -- Otherwise, with tmpl_tvs = [a], matching (a -> Int) ~ (Bool -> beta)
+ -- would fail to instantiate 'a', because the meta-type-variable
+ -- beta is as yet un-filled-in
+