def unify(self, oth_type_def: TypeExprComponent, blhs, brhs) -> TypeExprComponent:
print("<STR_LIT>" % (self, oth_type_def))<EOL>if self.type_def is not None:<EOL><INDENT>if type(oth_type_def) is UnknownName:<EOL><INDENT>if oth_type_def is None:<EOL><INDENT>oth_type_def.type_def = self.type_def<EOL>return self.type_def<EOL><DEDENT><DEDENT>return self.type_def.unify(oth_type_def, blhs, brhs)<EOL><DEDENT>if self.type_def is None:<EOL><INDENT>self.type_def = Overload()<EOL><DEDENT>if oth_type_def not in self.type_def:<EOL><INDENT>self.type_def.append(oth_type_def)<EOL><DEDENT>return oth_type_def<EOL>
When we unify an Unknown Name vs another type def we always match