{"action":"created","comment":{"url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/comments/222336016","pull_request_review_id":161194058,"id":222336016,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMjMzNjAxNg==","diff_hunk":"@@ -0,0 +1,318 @@\n+autoscale: true\n+footer: ![Arrow](arrow-brand-128x128.png) [@aMateoPaolo](https://twitter.com/aMateoPaolo) [@47deg](https://twitter.com/47deg) :: [Λrrow](http://arrow-kt.io) :: [http://arrow-kt.io/docs/typeclasses/monoid/](http://arrow-kt.io/docs/typeclasses/monoid/)\n+slidenumbers: true\n+\n+\n+# Semigroup\n+\n+__`Semigroup`__ is available in the __arrow-typeclasses__ module.\n+\n+```groovy\n+// gradle\n+compile 'io.arrow-kt:arrow-typeclasses:$arrowVersion'\n+\n+import arrow.typeclasses.Semigroup\n+```\n+^ The Semigroup is provided on the arrow-typeclasses artifact.\n+^ You can use it as soon as you add it to your build.gradle file.\n+\n+---\n+\n+# Semigroup\n+\n+`Semigroup` is a __Type Class__, so it defines a given behavior.\n+\n+`Monoid` inherit its combinators. \n+\n+```\n+Semigroup\n+\n+Monoid\n+```\n+\n+^ Semigroup is defined as a Type Class. In pure Functional Programming, type classes define behaviors.\n+^ Other very well known type classes are Monoids, and we will talk about it later in this same video since they are intimately related.\n+\n+---\n+\n+# Semigroup :: Polymorphism\n+\n+```kotlin\n+interface Semigroup<A> {\n+    //...\n+}\n+```\n+\n+- Semigroup is __parametric over a type constructor `A`__. This allows us to build abstract functions over the behaviours that Semigroup defines and forget about the concrete types that A may refer to.\n+\n+- We call this __ad-hoc polymorphism__, the ability to write polymorphic programs that can be defined in generic terms.\n+\n+^ Semigroup is parametric over a generic type A. Here, A stands for a data type, also called \"Type Constructor\".\n+^ Thanks to this, we can declare generic functions encoded on top of the behaviours provided by Semigroup and forget all about the concrete data type used for A.\n+^ We called this \"Ad-Hoc polymorphism\" and that's how type classes allow us to encode completely generic and polymorphic programs that can work over many different data types.\n+\n+---\n+\n+# Semigroup :: combine\n+\n+`Semigroup` abstracts the ability to __combine__ two values of the same type `A`.\n+\n+In other words, it provides a combining function for the `A` type:\n+\n+```kotlin\n+fun A.combine(b: A): A\n+```\n+\n+^ The most important behaviour provided by Semigroup is the combine function.\n+^ With combine, we can combine/concat/join two A values.\n+^ Semigroup defines on a type A a combination function which takes as input two elements of A to return an element of the same type A.\n+\n+---\n+\n+# Semigroup :: Data types\n+\n+Any type constructor whose contents can be combined can provide an instance of `Semigroup`.\n+\n+- `Option<A>`\n+- `NonEmptyList<A>`\n+- `ListK<A>`\n+- `SequenceK<A>`\n+- `SetK<A>`\n+- `MapK<A>`\n+- `SortedMapK<A>`\n+- `Either<A>`\n+- `Try<A>`\n+\n+Arrow also offers Semigroup instances to native Kotlin `String`, `Byte`, `Double`, `Int`, `Long`, `Short` and `Float` types.\n+\n+^ In order for a data type content to be “combinable”, we need its type constructor to be able to provide an instance of a Semigroup. Some data types examples on Arrow that offer exactly that would be: Option, NonEmptyList, ListK, SequenceK, SetK...\n+\n+---\n+\n+# Semigroup :: combine\n+\n+In this example we are showing the main characteristic about `Semigroup`, the `combine` method.\n+As you can see here, we can apply it for both a `Double` and a `String` type, but remember you can use it with many other types.\n+\n+\n+```kotlin\n+with(Double.semigroup()){\n+    4.5.combine(7.0).combine(2.5)\n+}\n+//14.0\n+```\n+\n+```kotlin\n+with(String.semigroup()){\n+    \"This is \".combine(\"functional \") + (\"programming.\")\n+}\n+//This is functional programming.\n+```\n+\n+Additionaly `Semigroup` adds `+` syntax to all types for which a `Semigroup` instance exists\n+\n+^ This is an example which explain the main characteristic about Semigroup´s combine method in a clear way.\n+^ We are applying it to a Double and a String in this case, but remember you can use it with many other types.\n+^ Additionaly Semigroup adds + syntax (mark +) to all types for which a Semigroup instance exists\n+^ With a semigroup, we gain the capability to combine, and that is the main value of it.\n+\n+---\n+\n+# Semigroup :: Laws\n+\n+All Typeclasses __must satisfy some mathematical laws__ in order to be considered a Typeclass.\n+\n+Arrow has tests in place for those laws so typeclasses can keep their integrity over time.\n+\n+^ When we think about typeclasses, we assume they need to satisfy some mathematical laws in order to be considered a typeclass.\n+^ Those laws are coded and enforced by tests inside Arrow, so we can ensure typeclasses integrity over time.\n+^ Some laws could be identity, associativity, composition, and so on.\n+\n+---\n+\n+# Semigroup :: Laws\n+\n+Semigroup satisfies the following law:\n+\n+- __Associativity__: When adding or multiplying, it doesn't matter how we combine the group of numbers.","path":"Semigroup-Monoid.md","position":137,"original_position":137,"commit_id":"8a3b4f6ca73016f21613ccb9048ad9d84f79bdea","original_commit_id":"8a3b4f6ca73016f21613ccb9048ad9d84f79bdea","user":{"login":"raulraja","id":456796,"node_id":"MDQ6VXNlcjQ1Njc5Ng==","avatar_url":"https://avatars3.githubusercontent.com/u/456796?v=4","gravatar_id":"","url":"https://api.github.com/users/raulraja","html_url":"https://github.com/raulraja","followers_url":"https://api.github.com/users/raulraja/followers","following_url":"https://api.github.com/users/raulraja/following{/other_user}","gists_url":"https://api.github.com/users/raulraja/gists{/gist_id}","starred_url":"https://api.github.com/users/raulraja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/raulraja/subscriptions","organizations_url":"https://api.github.com/users/raulraja/orgs","repos_url":"https://api.github.com/users/raulraja/repos","events_url":"https://api.github.com/users/raulraja/events{/privacy}","received_events_url":"https://api.github.com/users/raulraja/received_events","type":"User","site_admin":false},"body":"This property is universal and not just for numbers ","created_at":"2018-10-03T14:36:01Z","updated_at":"2018-10-03T14:41:17Z","html_url":"https://github.com/47deg/fp-with-arrow-videos/pull/50#discussion_r222336016","pull_request_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/50","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/comments/222336016"},"html":{"href":"https://github.com/47deg/fp-with-arrow-videos/pull/50#discussion_r222336016"},"pull_request":{"href":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/50"}}},"pull_request":{"url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/50","id":218657713,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4NjU3NzEz","html_url":"https://github.com/47deg/fp-with-arrow-videos/pull/50","diff_url":"https://github.com/47deg/fp-with-arrow-videos/pull/50.diff","patch_url":"https://github.com/47deg/fp-with-arrow-videos/pull/50.patch","issue_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues/50","number":50,"state":"open","locked":false,"title":"First version of Monoid slides","user":{"login":"AntonioMateoGomez","id":25897490,"node_id":"MDQ6VXNlcjI1ODk3NDkw","avatar_url":"https://avatars0.githubusercontent.com/u/25897490?v=4","gravatar_id":"","url":"https://api.github.com/users/AntonioMateoGomez","html_url":"https://github.com/AntonioMateoGomez","followers_url":"https://api.github.com/users/AntonioMateoGomez/followers","following_url":"https://api.github.com/users/AntonioMateoGomez/following{/other_user}","gists_url":"https://api.github.com/users/AntonioMateoGomez/gists{/gist_id}","starred_url":"https://api.github.com/users/AntonioMateoGomez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AntonioMateoGomez/subscriptions","organizations_url":"https://api.github.com/users/AntonioMateoGomez/orgs","repos_url":"https://api.github.com/users/AntonioMateoGomez/repos","events_url":"https://api.github.com/users/AntonioMateoGomez/events{/privacy}","received_events_url":"https://api.github.com/users/AntonioMateoGomez/received_events","type":"User","site_admin":false},"body":"This is a first version of the Monoid slides.","created_at":"2018-09-27T13:42:58Z","updated_at":"2018-10-03T14:41:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a3c0182ce94ca07d52133326791371072443897f","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/50/commits","review_comments_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/50/comments","review_comment_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/comments{/number}","comments_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues/50/comments","statuses_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/statuses/8a3b4f6ca73016f21613ccb9048ad9d84f79bdea","head":{"label":"47deg:paolo-monoid-slides","ref":"paolo-monoid-slides","sha":"8a3b4f6ca73016f21613ccb9048ad9d84f79bdea","user":{"login":"47deg","id":479857,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3OTg1Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/479857?v=4","gravatar_id":"","url":"https://api.github.com/users/47deg","html_url":"https://github.com/47deg","followers_url":"https://api.github.com/users/47deg/followers","following_url":"https://api.github.com/users/47deg/following{/other_user}","gists_url":"https://api.github.com/users/47deg/gists{/gist_id}","starred_url":"https://api.github.com/users/47deg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/47deg/subscriptions","organizations_url":"https://api.github.com/users/47deg/orgs","repos_url":"https://api.github.com/users/47deg/repos","events_url":"https://api.github.com/users/47deg/events{/privacy}","received_events_url":"https://api.github.com/users/47deg/received_events","type":"Organization","site_admin":false},"repo":{"id":119747380,"node_id":"MDEwOlJlcG9zaXRvcnkxMTk3NDczODA=","name":"fp-with-arrow-videos","full_name":"47deg/fp-with-arrow-videos","private":false,"owner":{"login":"47deg","id":479857,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3OTg1Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/479857?v=4","gravatar_id":"","url":"https://api.github.com/users/47deg","html_url":"https://github.com/47deg","followers_url":"https://api.github.com/users/47deg/followers","following_url":"https://api.github.com/users/47deg/following{/other_user}","gists_url":"https://api.github.com/users/47deg/gists{/gist_id}","starred_url":"https://api.github.com/users/47deg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/47deg/subscriptions","organizations_url":"https://api.github.com/users/47deg/orgs","repos_url":"https://api.github.com/users/47deg/repos","events_url":"https://api.github.com/users/47deg/events{/privacy}","received_events_url":"https://api.github.com/users/47deg/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/47deg/fp-with-arrow-videos","description":null,"fork":false,"url":"https://api.github.com/repos/47deg/fp-with-arrow-videos","forks_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/forks","keys_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/keys{/key_id}","collaborators_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/teams","hooks_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/hooks","issue_events_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues/events{/number}","events_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/events","assignees_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/assignees{/user}","branches_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/branches{/branch}","tags_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/tags","blobs_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/refs{/sha}","trees_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/trees{/sha}","statuses_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/statuses/{sha}","languages_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/languages","stargazers_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/stargazers","contributors_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/contributors","subscribers_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/subscribers","subscription_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/subscription","commits_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/commits{/sha}","git_commits_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/commits{/sha}","comments_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/comments{/number}","issue_comment_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues/comments{/number}","contents_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/contents/{+path}","compare_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/compare/{base}...{head}","merges_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/merges","archive_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/downloads","issues_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues{/number}","pulls_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls{/number}","milestones_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/milestones{/number}","notifications_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/labels{/name}","releases_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/releases{/id}","deployments_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/deployments","created_at":"2018-01-31T21:44:22Z","updated_at":"2018-06-17T08:01:17Z","pushed_at":"2018-10-03T13:10:14Z","git_url":"git://github.com/47deg/fp-with-arrow-videos.git","ssh_url":"git@github.com:47deg/fp-with-arrow-videos.git","clone_url":"https://github.com/47deg/fp-with-arrow-videos.git","svn_url":"https://github.com/47deg/fp-with-arrow-videos","homepage":null,"size":153,"stargazers_count":11,"watchers_count":11,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":23,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":4,"open_issues":23,"watchers":11,"default_branch":"master"}},"base":{"label":"47deg:master","ref":"master","sha":"370abb446cabadb0329e8b023d504f9b554d573b","user":{"login":"47deg","id":479857,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3OTg1Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/479857?v=4","gravatar_id":"","url":"https://api.github.com/users/47deg","html_url":"https://github.com/47deg","followers_url":"https://api.github.com/users/47deg/followers","following_url":"https://api.github.com/users/47deg/following{/other_user}","gists_url":"https://api.github.com/users/47deg/gists{/gist_id}","starred_url":"https://api.github.com/users/47deg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/47deg/subscriptions","organizations_url":"https://api.github.com/users/47deg/orgs","repos_url":"https://api.github.com/users/47deg/repos","events_url":"https://api.github.com/users/47deg/events{/privacy}","received_events_url":"https://api.github.com/users/47deg/received_events","type":"Organization","site_admin":false},"repo":{"id":119747380,"node_id":"MDEwOlJlcG9zaXRvcnkxMTk3NDczODA=","name":"fp-with-arrow-videos","full_name":"47deg/fp-with-arrow-videos","private":false,"owner":{"login":"47deg","id":479857,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3OTg1Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/479857?v=4","gravatar_id":"","url":"https://api.github.com/users/47deg","html_url":"https://github.com/47deg","followers_url":"https://api.github.com/users/47deg/followers","following_url":"https://api.github.com/users/47deg/following{/other_user}","gists_url":"https://api.github.com/users/47deg/gists{/gist_id}","starred_url":"https://api.github.com/users/47deg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/47deg/subscriptions","organizations_url":"https://api.github.com/users/47deg/orgs","repos_url":"https://api.github.com/users/47deg/repos","events_url":"https://api.github.com/users/47deg/events{/privacy}","received_events_url":"https://api.github.com/users/47deg/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/47deg/fp-with-arrow-videos","description":null,"fork":false,"url":"https://api.github.com/repos/47deg/fp-with-arrow-videos","forks_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/forks","keys_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/keys{/key_id}","collaborators_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/teams","hooks_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/hooks","issue_events_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues/events{/number}","events_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/events","assignees_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/assignees{/user}","branches_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/branches{/branch}","tags_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/tags","blobs_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/refs{/sha}","trees_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/trees{/sha}","statuses_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/statuses/{sha}","languages_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/languages","stargazers_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/stargazers","contributors_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/contributors","subscribers_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/subscribers","subscription_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/subscription","commits_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/commits{/sha}","git_commits_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/git/commits{/sha}","comments_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/comments{/number}","issue_comment_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues/comments{/number}","contents_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/contents/{+path}","compare_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/compare/{base}...{head}","merges_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/merges","archive_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/downloads","issues_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues{/number}","pulls_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls{/number}","milestones_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/milestones{/number}","notifications_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/labels{/name}","releases_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/releases{/id}","deployments_url":"https://api.github.com/repos/47deg/fp-with-arrow-videos/deployments","created_at":"2018-01-31T21:44:22Z","updated_at":"2018-06-17T08:01:17Z","pushed_at":"2018-10-03T13:10:14Z","git_url":"git://github.com/47deg/fp-with-arrow-videos.git","ssh_url":"git@github.com:47deg/fp-with-arrow-videos.git","clone_url":"https://github.com/47deg/fp-with-arrow-videos.git","svn_url":"https://github.com/47deg/fp-with-arrow-videos","homepage":null,"size":153,"stargazers_count":11,"watchers_count":11,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":23,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":4,"open_issues":23,"watchers":11,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/50"},"html":{"href":"https://github.com/47deg/fp-with-arrow-videos/pull/50"},"issue":{"href":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues/50"},"comments":{"href":"https://api.github.com/repos/47deg/fp-with-arrow-videos/issues/50/comments"},"review_comments":{"href":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/50/comments"},"review_comment":{"href":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/47deg/fp-with-arrow-videos/pulls/50/commits"},"statuses":{"href":"https://api.github.com/repos/47deg/fp-with-arrow-videos/statuses/8a3b4f6ca73016f21613ccb9048ad9d84f79bdea"}},"author_association":"NONE"}}
{"actor":{"display_login":"raulraja"}}