@Override
    public boolean equivalent(Type that) 
    {
        if (!(that instanceof TypeList))
        	return false;
        
        List<Type> olist = ((TypeList)that).list;
        
        if (list.size() != olist.size())
            return false;
        
        for (int i=0; i<list.size(); ++i)
        {
            if (!list.get(i).equivalent(olist.get(i)))
                return false;
        }
        return true;
    }