{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreih6w2u7kpz4jvltygw6ewn7g7s6no2xdpdkdugxtrsug6qj4e7fjy",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3miffvqw366k2"
},
"path": "/t/why-not-use-smallcheck/13860#post_13",
"publishedAt": "2026-03-31T19:47:24.000Z",
"site": "https://discourse.haskell.org",
"textContent": "turion:\n\n> Not wanting to write a shrinker _lolol_ but right, if the downside is that I have to put more effort into the generator, I can see the point.\n\nRealistically `shrink` is already implemented for all basic types and then `genericShrink` gets you 90% there. There are use cases for writing `shrink` manually, but they are usually in areas which are far beyond SmallCheck’s reach anyway.\n\nLeary:\n\n> IMO the big win is getting a genuinely minimal counterexample to your property in cases where greedy shrinking just isn’t good enough.\n\nCould you give an example?\n\nAmbrose:\n\n> idk I just see “deprecated in favor of” as meaning the two things are actually equivalent fundamentally. not opinion-wise.\n\nPerhaps you are seeing something which is not there?.. SmallCheck description does not contain your quote.",
"title": "Why not use smallcheck?"
}