The reversibility test is a handy rule of thumb, though some things in the design bucket quietly turn into architecture once enough code depends on them. The styling example holds for CSS Modules versus Tailwind, but a state library or a data fetching pattern copied into 40 components is the same kind of decision, just slower to notice. Do you draw the line by cost of change today, or by the cost at the moment the choice is made?