Conversation

Design systems are an interesting use case. A central design team makes widgets that follow a consistent design style, with accessibility support etc. and product teams then use that to build their stuff.
1
1
A type system in this use case could help to support maintaining the APIs across teams, and helping upgrades across a large code base, but it doesn't replace good design sense. It can make thinking about affordances clearer perhaps.
1
1
Also could make generative testing of edge-case inputs easier. This could be used with a component browser to ensure that edge cases are properly handled (eg. exotic line directions, weird combinations of combining characters, etc). Might need to be manually verified though.
1
1
Replying to and
And you can't really type check colour usage for instance - it is highly dependent on cultural context and what colour space your user's eyes support (ie. different types of colour blindness). Well... perhaps you could, but I'm guessing it'd be to unwieldy to be useful…
1