internal FuncType parameterizeFuncType(FuncType t)
{
Type[] pars = new Type[t.m_params.Length];
for (int i=0; i<pars.Length; i++)
{
Type param = t.m_params[i];
if (param.isGenericParameter()) param = doParameterize(param);
pars[i] = param;
}
Type ret = t.m_ret;
if (ret.isGenericParameter()) ret = doParameterize(ret);
return new FuncType(pars, ret);
}