public static IType Merge (IType type1, IType type2)
		{
			if (type1 is CompoundType) {
				((CompoundType)type1).AddPart (type2);
				return type1;
			}
			CompoundType result = new CompoundType ();
			result.AddPart (type1);
			result.AddPart (type2);
			return result;
		}