How would we design a system for designing systems ?