public Type intersection(Type type) {
		if (this == tError || type == tError)
			return tError;
		if (this == tUnknown)
			return type;
		if (type == tUnknown || this == type)
			return this;
		/*
		 * We have two different singleton sets now.
		 */
		if ((GlobalOptions.debuggingFlags & GlobalOptions.DEBUG_TYPES) != 0)
			GlobalOptions.err.println("intersecting " + this + " and " + type
					+ " to <error>");
		return tError;
	}