{"action":"created","issue":{"url":"https://api.github.com/repos/non/cats/issues/122","labels_url":"https://api.github.com/repos/non/cats/issues/122/labels{/name}","comments_url":"https://api.github.com/repos/non/cats/issues/122/comments","events_url":"https://api.github.com/repos/non/cats/issues/122/events","html_url":"https://github.com/non/cats/issues/122","id":56937293,"number":122,"title":"is there a place in cats for the State monad?","user":{"login":"refried","id":538571,"avatar_url":"https://avatars.githubusercontent.com/u/538571?v=3","gravatar_id":"","url":"https://api.github.com/users/refried","html_url":"https://github.com/refried","followers_url":"https://api.github.com/users/refried/followers","following_url":"https://api.github.com/users/refried/following{/other_user}","gists_url":"https://api.github.com/users/refried/gists{/gist_id}","starred_url":"https://api.github.com/users/refried/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/refried/subscriptions","organizations_url":"https://api.github.com/users/refried/orgs","repos_url":"https://api.github.com/users/refried/repos","events_url":"https://api.github.com/users/refried/events{/privacy}","received_events_url":"https://api.github.com/users/refried/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/non/cats/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":43,"created_at":"2015-02-08T03:39:01Z","updated_at":"2015-03-09T15:58:25Z","closed_at":null,"body":"If so, let me know which package (data?) and I don't mind taking a pass at it."},"comment":{"url":"https://api.github.com/repos/non/cats/issues/comments/77881856","html_url":"https://github.com/non/cats/issues/122#issuecomment-77881856","issue_url":"https://api.github.com/repos/non/cats/issues/122","id":77881856,"user":{"login":"jdegoes","id":156745,"avatar_url":"https://avatars.githubusercontent.com/u/156745?v=3","gravatar_id":"","url":"https://api.github.com/users/jdegoes","html_url":"https://github.com/jdegoes","followers_url":"https://api.github.com/users/jdegoes/followers","following_url":"https://api.github.com/users/jdegoes/following{/other_user}","gists_url":"https://api.github.com/users/jdegoes/gists{/gist_id}","starred_url":"https://api.github.com/users/jdegoes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdegoes/subscriptions","organizations_url":"https://api.github.com/users/jdegoes/orgs","repos_url":"https://api.github.com/users/jdegoes/repos","events_url":"https://api.github.com/users/jdegoes/events{/privacy}","received_events_url":"https://api.github.com/users/jdegoes/received_events","type":"User","site_admin":false},"created_at":"2015-03-09T15:58:25Z","updated_at":"2015-03-09T15:58:25Z","body":"@refried I'd suggest testing direct recursion, i.e. a simple function which calls itself N times. This way you can separate concerns, and such a function could be used for testing Trampoline directly, as well as for any monad transformer stacked on top of Trampoline."}}