Ich glaube, ich denke zu kompliziert.
Ich weiß schon, dass eine eigene Klasse quasi ein "Datentyp" ist, den es sonst noch nicht gibt. Die hat nen Namen und dann ihre Untereigenschaften, hier also TKlotz = class [Fahrrad]. Und dann im private und/oder public die Eigenschaften. Bei mir sind das also die Klötze [Reifen], die dazugehören, und dazu geordnet die Würfel [Speichen]. In deinem Beispiel ist jetzt zusätzlich satisfiedwith [Katzenauge Platz] eine Funktion der Klasse, ja? Die ruf ich also nach der Kombinationsfindung mit den entsprechenden Parametern 8 Mal auf und warte auf ein "ja, geht".