Great points. I see how making your types more specific/​complicated helps you catch bugs, and the example with your compiler really helped me to see that. However, making types more complex also has a larger upfront cost. It requires more thought from you. I don’t have a good intuition for which side of the tradeoff is stronger though.
Great points. I see how making your types more specific/​complicated helps you catch bugs, and the example with your compiler really helped me to see that. However, making types more complex also has a larger upfront cost. It requires more thought from you. I don’t have a good intuition for which side of the tradeoff is stronger though.