{"action":"created","issue":{"url":"https://api.github.com/repos/typelift/Focus/issues/9","labels_url":"https://api.github.com/repos/typelift/Focus/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/typelift/Focus/issues/9/comments","events_url":"https://api.github.com/repos/typelift/Focus/issues/9/events","html_url":"https://github.com/typelift/Focus/pull/9","id":94807772,"number":9,"title":"Optics protocols","user":{"login":"pthariensflame","id":1847577,"avatar_url":"https://avatars.githubusercontent.com/u/1847577?v=3","gravatar_id":"","url":"https://api.github.com/users/pthariensflame","html_url":"https://github.com/pthariensflame","followers_url":"https://api.github.com/users/pthariensflame/followers","following_url":"https://api.github.com/users/pthariensflame/following{/other_user}","gists_url":"https://api.github.com/users/pthariensflame/gists{/gist_id}","starred_url":"https://api.github.com/users/pthariensflame/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pthariensflame/subscriptions","organizations_url":"https://api.github.com/users/pthariensflame/orgs","repos_url":"https://api.github.com/users/pthariensflame/repos","events_url":"https://api.github.com/users/pthariensflame/events{/privacy}","received_events_url":"https://api.github.com/users/pthariensflame/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-13T20:47:20Z","updated_at":"2015-07-13T21:48:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/typelift/Focus/pulls/9","html_url":"https://github.com/typelift/Focus/pull/9","diff_url":"https://github.com/typelift/Focus/pull/9.diff","patch_url":"https://github.com/typelift/Focus/pull/9.patch"},"body":"This pull request introduces the `IsoType`, `LensType`, `PrismType`, and `OpticFamilyType` `protocol`s, and moves a lot of functionality to `extension`s on them rather than methods on the underlying `struct`s.\r\n\r\nThis shouldn’t affect any current usages of the library, other than no longer requiring `asLens` or `asPrism` calls (thus, those functions have been removed).  However, it will allow for much easier expansion in the future, as well as greater fluidity of the interface when it comes to the “multiple inheritance” of various optic types."},"comment":{"url":"https://api.github.com/repos/typelift/Focus/issues/comments/121071080","html_url":"https://github.com/typelift/Focus/pull/9#issuecomment-121071080","issue_url":"https://api.github.com/repos/typelift/Focus/issues/9","id":121071080,"user":{"login":"pthariensflame","id":1847577,"avatar_url":"https://avatars.githubusercontent.com/u/1847577?v=3","gravatar_id":"","url":"https://api.github.com/users/pthariensflame","html_url":"https://github.com/pthariensflame","followers_url":"https://api.github.com/users/pthariensflame/followers","following_url":"https://api.github.com/users/pthariensflame/following{/other_user}","gists_url":"https://api.github.com/users/pthariensflame/gists{/gist_id}","starred_url":"https://api.github.com/users/pthariensflame/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pthariensflame/subscriptions","organizations_url":"https://api.github.com/users/pthariensflame/orgs","repos_url":"https://api.github.com/users/pthariensflame/repos","events_url":"https://api.github.com/users/pthariensflame/events{/privacy}","received_events_url":"https://api.github.com/users/pthariensflame/received_events","type":"User","site_admin":false},"created_at":"2015-07-13T21:48:06Z","updated_at":"2015-07-13T21:48:06Z","body":"@CodaFi Ready for review!"}}