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; }