- Was sind / wofr brauch man TTO und Classes
- Unify lst auch zirkulre Abhngigkeiten a <. b <. c <. a
	- Tests dazu?
	- Prfung im Builder?
	
- Unterschied Wildcard und FreshWildcard, ExtendsWildcard und FreshExtendsWildcard etc...
	- FreshWildcard = TPH fr Wildcards?

- Warum ist result von unify = Menge<Menge<Pair>> und nicht Menge<Pair>

- Menge Equals berarbeiten (Momentan Reihenfolgensensitiv)

- Wie kommen die Mengen des Unify-Algorithmus zustande? Siehe test: 		
		/*
		 * Test b <. a, a <. b
		 */
	
- 
	
		 
- Transitiven Abschluss von FC bilden um schneller Subtypen bestimmen zu knnen	 
		 	 - Problem: 2 FCs  fr Pairs und MPairs durch das Mapping
- Equals der Typen schreiben um instanceof Prfungen zu vermeiden

- Refactoring der Klassen Menge und Pair erlaubt?
++++++++++++++++++++++++++++++++++++++++++++++


Instanceof wird verwendet da:
	-> Entscheidung fr diese Lsung, da 2-Fach-Visitor oder DoubleDispatch Pattern
	enorm viele berladene Methoden zur folge htten, nicht intuitiv wren und die rules in die Typen verschoben htten.
	
Gilt reduce fr alle Typen oder nur fr simple und tphs? (Vermutlich nur s und tph sonst bruchte  man keine upLow regel)

+++++++++++++++++++++++++++++++++++++++++++++++

HashCode implementierungen testen (type paramerte mit einbeziehen, hashcodes cachen -> da immutable)


+++++++++++++++++++++++++++++++++++++++++++++++
- Typen sind anhand ihres identifiers durchgngig identifizierbar

- ReduceEq nur auf SimpleTypes oder auf alles anwenden? (Momentan alles)
- ReduceEq Permutation?

EED UP
	- Anwendungsreihenfolge der Regeln (wahrscheinlichste zuerst, evtl ist nach regel 1 regel 2 nie mglich etc...)
		- Erase vor Reduce
		- Rechenarm vor rechenintensiv
		
