{"action":"created","issue":{"url":"https://api.github.com/repos/elm-explorations/test/issues/66","repository_url":"https://api.github.com/repos/elm-explorations/test","labels_url":"https://api.github.com/repos/elm-explorations/test/issues/66/labels{/name}","comments_url":"https://api.github.com/repos/elm-explorations/test/issues/66/comments","events_url":"https://api.github.com/repos/elm-explorations/test/issues/66/events","html_url":"https://github.com/elm-explorations/test/issues/66","id":395093687,"node_id":"MDU6SXNzdWUzOTUwOTM2ODc=","number":66,"title":"How do I make my own Shrinkers?","user":{"login":"tmohme","id":2261413,"node_id":"MDQ6VXNlcjIyNjE0MTM=","avatar_url":"https://avatars1.githubusercontent.com/u/2261413?v=4","gravatar_id":"","url":"https://api.github.com/users/tmohme","html_url":"https://github.com/tmohme","followers_url":"https://api.github.com/users/tmohme/followers","following_url":"https://api.github.com/users/tmohme/following{/other_user}","gists_url":"https://api.github.com/users/tmohme/gists{/gist_id}","starred_url":"https://api.github.com/users/tmohme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmohme/subscriptions","organizations_url":"https://api.github.com/users/tmohme/orgs","repos_url":"https://api.github.com/users/tmohme/repos","events_url":"https://api.github.com/users/tmohme/events{/privacy}","received_events_url":"https://api.github.com/users/tmohme/received_events","type":"User","site_admin":false},"labels":[{"id":1033924718,"node_id":"MDU6TGFiZWwxMDMzOTI0NzE4","url":"https://api.github.com/repos/elm-explorations/test/labels/docs","name":"docs","color":"BDA47D","default":false},{"id":1033924884,"node_id":"MDU6TGFiZWwxMDMzOTI0ODg0","url":"https://api.github.com/repos/elm-explorations/test/labels/fuzzers","name":"fuzzers","color":"0e8a16","default":false},{"id":916180915,"node_id":"MDU6TGFiZWw5MTYxODA5MTU=","url":"https://api.github.com/repos/elm-explorations/test/labels/question","name":"question","color":"afaded","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2019-01-01T15:52:17Z","updated_at":"2019-01-03T10:34:13Z","closed_at":null,"author_association":"NONE","body":"The documentation in `Shrink.elm` v1.2.0 says about this topic \r\n\r\n> Shrinkers have to return a LazyList\r\n\r\n. . . but unfortunately with corresponding types (or helper functions) are not exposed, making it for some cases hard to write a `Shrinker`.  \r\nWhile many custom shrinkers can be easily composed by using the provided shrinkers and helper functions, this is not the case for ADTs (like `type abc = A | B | C`) - at least I haven't found a way to do this.\r\n\r\nMy current use case is very similar to creating a shrinker for `Maybe` - just for a custom type.\r\n\r\nPlease expose appropriate functions to achieve this and/or adjust the documentation to more elaborately explain creating custom shrinkers. \r\n\r\nEdit:\r\nI finally achieved my goals by composing Fuzzers (instead of Shrinkers - in so far it was my fault).\r\nNevertheless, the documentation for this topic seems misleading (since elm 0.19) as the given advice can't be followed because the mentioned type `LazyList` is no longer exposed."},"comment":{"url":"https://api.github.com/repos/elm-explorations/test/issues/comments/451106737","html_url":"https://github.com/elm-explorations/test/issues/66#issuecomment-451106737","issue_url":"https://api.github.com/repos/elm-explorations/test/issues/66","id":451106737,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MTEwNjczNw==","user":{"login":"drathier","id":3695812,"node_id":"MDQ6VXNlcjM2OTU4MTI=","avatar_url":"https://avatars0.githubusercontent.com/u/3695812?v=4","gravatar_id":"","url":"https://api.github.com/users/drathier","html_url":"https://github.com/drathier","followers_url":"https://api.github.com/users/drathier/followers","following_url":"https://api.github.com/users/drathier/following{/other_user}","gists_url":"https://api.github.com/users/drathier/gists{/gist_id}","starred_url":"https://api.github.com/users/drathier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drathier/subscriptions","organizations_url":"https://api.github.com/users/drathier/orgs","repos_url":"https://api.github.com/users/drathier/repos","events_url":"https://api.github.com/users/drathier/events{/privacy}","received_events_url":"https://api.github.com/users/drathier/received_events","type":"User","site_admin":false},"created_at":"2019-01-03T10:34:13Z","updated_at":"2019-01-03T10:34:13Z","author_association":"COLLABORATOR","body":"Could we see if we can avoid exposing lazylist, and instead use normal lists in the public api?"}}
{"actor":{"display_login":"drathier"}}