* auch um z.B. Programmcode zu vergrößern, statt diesen zu optimieren
** um den Begriff "Designfehlentscheidung" zu vermeiden
Zu
Je nach dem, was man optimieren möchte wird eben Programmcode größer oder kleiner. Es kommt immer auf das jeweilige Optimierungsziel. Selbst bei schnell ist es manchmal sinnvoller Multiplikationen auf einen Vektor nicht in eine Schleife zu verpacken sondern drei Operationen zu verwenden. Das hängt immer von der Prozessor- und Speicherarchitektur ab. Speicher- und Laufzeiteffizient sind in der Hinsicht ebenfalls konträre Ziele. 
Zu ** Auch ein Konzept ist ein Design, insofern verwendest du nur andere Begriffe der besser klingt. Das beschriebende Problem des Gleiswechsel bei bestimmten Weichenkonstruktionen in Kurven gibt es schon seit Train Fever und lässt sich durch Wegpunkte vermeiden, bzw. durch Vermeiden solcher in der Realität selten anzutreffenden Konstruktionen. Natürlich könnte UG in der Pfadberechnung auch die maximale Geschwindigkeit mit in den Wegberechnung einfließen lassen. Dafür werden sie dann für die entstehenden Lags bei der Berechnung von Routen vom Spieler gescholten, wie es bereits der Fall ist, weil sie eben noch zusätzlich für den Weg zwischen zwei Weichen immer erst die schnellste Zeit für diesen Weg berechnen, am Besten noch inklusive Beschleunigung. Bei einem Zug der langsamer als 60 km/h an der Stelle ist, ist natürlich der Gleiswechsel der optimale Weg, für die schnelleren Züge der Weg ohne Gleiswechsel. Sie werden es nie für Alle richtig machen können. 