Whilst reading, I had to refresh myself in many of the Math concepts, which I haven't touched since my university days many moons ago. Once I grasped them again, the ideas and concepts of defining types by combining sets the same way you can compose functions seems very logical to me. Conceptually it makes sense and could be very handy in creating application data models that require strict types.
Let me know what you think of the concepts in these articles and tcomb in the comments. Have you come across any similar articles about the benefits and disadvantages of using this approach? If you have, please share in the comments.
28th October, 2014