@Override
	public boolean canConvertImplicit(Type v) {
		if (this == v)
			return true;
		if (v instanceof TypeList) {
			TypeList tl = (TypeList) v;
			if (types.size() != tl.types.size())
				return false;
			for (int i = 0; i < types.size(); ++i) {
				if (!types.get(i).canConvertImplicit(tl.types.get(i)))
					return false;
			}
			return true;
		}
		return false;
	}