{"articles":[{"slug":"a-type-stronger-than-the-sum-of-its-components","title":"A Type Stronger than the Sum of its Components","subtitle":null,"summary":"Richard Schneeman walks through a Ruby type design that becomes more powerful than the sum of its parts—how carefully composed types can encode invariants that ad-hoc checks miss.","content_type":"blog_post","language":"en","canonical_url":"https://www.schneems.com/2026/09/24/a-type-stronger-than-the-sum-of-its-components/","author":{"name":"Richard Schneeman","url":"https://www.schneems.com/","person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"schneems.com","url":"https://www.schneems.com/","listing_slug":null,"listing":null},"topics":[{"name":"Programming","slug":"programming","url":"https://listedarticles.com/topics/programming"},{"name":"Ruby","slug":"ruby","url":"https://listedarticles.com/topics/ruby"},{"name":"Engineering","slug":"engineering","url":"https://listedarticles.com/topics/engineering"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":946,"reading_minutes":4,"published_at":"2026-09-24T12:00:00.000Z","added_at":"2026-09-25T18:11:16.910Z","updated_at":"2026-09-25T18:11:16.910Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":false},"profile_url":"https://listedarticles.com/articles/a-type-stronger-than-the-sum-of-its-components","markdown_url":"https://listedarticles.com/articles/a-type-stronger-than-the-sum-of-its-components.md","example":false,"citation":"Richard Schneeman, schneems.com. \"A Type Stronger than the Sum of its Components.\" 24 Sept 2026. https://www.schneems.com/2026/09/24/a-type-stronger-than-the-sum-of-its-components/ (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://www.schneems.com/2026/09/24/a-type-stronger-than-the-sum-of-its-components/"},"snippet":null,"score":null}],"total":1,"count":1,"next_offset":null,"has_more":false,"query":{"q":null,"content_type":"blog_post","topic":"ruby","publisher":null,"about":null,"author":null,"language":null,"sort":"newest","limit":20,"offset":0}}