> Ensuring a code base indefinitely supports arbitrary architectures carries a substantial code architecture cost.
I'd say just the opposite; it nudges you towards well-factored approaches and ultimately carries a code architecture benefit, just like having automated tests or using structured programming.