#NEWLINE# def combine( self , other ) : #NEWLINE# #INDENT# if ( isinstance ( other , TupleT ) and ( len ( other . elt_types ) == len ( other . elt_types ) ) ) : #NEWLINE# #INDENT# combined_elt_types = [ t1 . combine ( t2 ) for ( t1 , t2 ) in zip ( self . elt_types , other . elt_types ) ] #NEWLINE# if ( combined_elt_types != self . elt_types ) : #NEWLINE# #INDENT# return TupleT ( combined_elt_types ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return self #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# raise IncompatibleTypes ( self , other )