Thanks for that "Parse, don't validate" link. It definitely is the clearest explanation for type driven development I've found.
Turns out, years ago I was writing some C# code and I found myself wanting to explore something like that. However, it wasn't idiomatic for C# (especially at the time), and I talked myself out of it.
Since then, I've wondered if that's what people mean by type driven development. It's cool to see that is at least in the general ballpark.
Is C# nowadays friendly enough for type driven development?
Using TypeScript daily, I have a great time with type driven development. (C# and TS was created by the same guy)
I was never comfortable with Java community approach of automating stuff, with their heavy use of reflections, method name parsing instead of being strict in typings, use generics, macro, templating, etc.
Well, you can "force" some of it ... make an object whose ctor can only succeed if a certain check passes, for example.
You'd be using types in a way that pretty much no one in C# does (not idiomatic), except for maybe those who are explicitly trying to go for type driven development (for example, people doing things like railway oriented programming).
Turns out, years ago I was writing some C# code and I found myself wanting to explore something like that. However, it wasn't idiomatic for C# (especially at the time), and I talked myself out of it.
Since then, I've wondered if that's what people mean by type driven development. It's cool to see that is at least in the general ballpark.