Learning design with types Implementing Scott Wlaschin's "Designing with types" series in TypeScript Articles with FSharp code TypeScript code 1. Introduction step1 2. Single case union types step2 3. Making illegal states unrepresentable step3 4. Discovering new concepts step4 5. Making state explicit step5 6. Constrained strings step6 7. Non-string types 8. Conclusion conclusion