{"action":"created","issue":{"url":"https://api.github.com/repos/purescript/purescript/issues/803","labels_url":"https://api.github.com/repos/purescript/purescript/issues/803/labels{/name}","comments_url":"https://api.github.com/repos/purescript/purescript/issues/803/comments","events_url":"https://api.github.com/repos/purescript/purescript/issues/803/events","html_url":"https://github.com/purescript/purescript/issues/803","id":53818641,"number":803,"title":"Warnings","user":{"login":"paf31","id":630306,"avatar_url":"https://avatars.githubusercontent.com/u/630306?v=3","gravatar_id":"","url":"https://api.github.com/users/paf31","html_url":"https://github.com/paf31","followers_url":"https://api.github.com/users/paf31/followers","following_url":"https://api.github.com/users/paf31/following{/other_user}","gists_url":"https://api.github.com/users/paf31/gists{/gist_id}","starred_url":"https://api.github.com/users/paf31/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paf31/subscriptions","organizations_url":"https://api.github.com/users/paf31/orgs","repos_url":"https://api.github.com/users/paf31/repos","events_url":"https://api.github.com/users/paf31/events{/privacy}","received_events_url":"https://api.github.com/users/paf31/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/purescript/purescript/labels/easy","name":"easy","color":"bfe5bf"},{"url":"https://api.github.com/repos/purescript/purescript/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/purescript/purescript/labels/typechecker","name":"typechecker","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"paf31","id":630306,"avatar_url":"https://avatars.githubusercontent.com/u/630306?v=3","gravatar_id":"","url":"https://api.github.com/users/paf31","html_url":"https://github.com/paf31","followers_url":"https://api.github.com/users/paf31/followers","following_url":"https://api.github.com/users/paf31/following{/other_user}","gists_url":"https://api.github.com/users/paf31/gists{/gist_id}","starred_url":"https://api.github.com/users/paf31/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paf31/subscriptions","organizations_url":"https://api.github.com/users/paf31/orgs","repos_url":"https://api.github.com/users/paf31/repos","events_url":"https://api.github.com/users/paf31/events{/privacy}","received_events_url":"https://api.github.com/users/paf31/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/purescript/purescript/milestones/9","html_url":"https://github.com/purescript/purescript/milestones/0.7.0","labels_url":"https://api.github.com/repos/purescript/purescript/milestones/9/labels","id":857545,"number":9,"title":"0.7.0","description":"","creator":{"login":"paf31","id":630306,"avatar_url":"https://avatars.githubusercontent.com/u/630306?v=3","gravatar_id":"","url":"https://api.github.com/users/paf31","html_url":"https://github.com/paf31","followers_url":"https://api.github.com/users/paf31/followers","following_url":"https://api.github.com/users/paf31/following{/other_user}","gists_url":"https://api.github.com/users/paf31/gists{/gist_id}","starred_url":"https://api.github.com/users/paf31/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paf31/subscriptions","organizations_url":"https://api.github.com/users/paf31/orgs","repos_url":"https://api.github.com/users/paf31/repos","events_url":"https://api.github.com/users/paf31/events{/privacy}","received_events_url":"https://api.github.com/users/paf31/received_events","type":"User","site_admin":false},"open_issues":20,"closed_issues":69,"state":"open","created_at":"2014-11-07T16:03:12Z","updated_at":"2015-03-07T02:28:45Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2015-01-09T00:11:24Z","updated_at":"2015-03-09T21:04:05Z","closed_at":null,"body":"The type checker monad only supports errors, not warnings. Use `WriterT` to add a warnings capability."},"comment":{"url":"https://api.github.com/repos/purescript/purescript/issues/comments/77942165","html_url":"https://github.com/purescript/purescript/issues/803#issuecomment-77942165","issue_url":"https://api.github.com/repos/purescript/purescript/issues/803","id":77942165,"user":{"login":"paf31","id":630306,"avatar_url":"https://avatars.githubusercontent.com/u/630306?v=3","gravatar_id":"","url":"https://api.github.com/users/paf31","html_url":"https://github.com/paf31","followers_url":"https://api.github.com/users/paf31/followers","following_url":"https://api.github.com/users/paf31/following{/other_user}","gists_url":"https://api.github.com/users/paf31/gists{/gist_id}","starred_url":"https://api.github.com/users/paf31/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paf31/subscriptions","organizations_url":"https://api.github.com/users/paf31/orgs","repos_url":"https://api.github.com/users/paf31/repos","events_url":"https://api.github.com/users/paf31/events{/privacy}","received_events_url":"https://api.github.com/users/paf31/received_events","type":"User","site_admin":false},"created_at":"2015-03-09T21:04:05Z","updated_at":"2015-03-09T21:04:05Z","body":"I think of it this way: `ErrorT` of `m` just replaces the result type `a` inside `m` with `Either e a`, so wherever you would previously return a result, you can now instead return an error. \r\n\r\nSimilarly, `WriterT` replaces `a` with `(a, w)`.\r\n\r\nSo if you put `WriterT` on the outside and fail, you don't get the warnings you accumulated, but if `ErrorT` wraps `WriterT`, you essentially replace `a` in `(a, w)` and get `(Either e a, w)`."}}