{"action":"created","issue":{"url":"https://api.github.com/repos/hamstergem/hamster/issues/180","labels_url":"https://api.github.com/repos/hamstergem/hamster/issues/180/labels{/name}","comments_url":"https://api.github.com/repos/hamstergem/hamster/issues/180/comments","events_url":"https://api.github.com/repos/hamstergem/hamster/issues/180/events","html_url":"https://github.com/hamstergem/hamster/issues/180","id":93162620,"number":180,"title":"3 different ways to do an empty collection","user":{"login":"krainboltgreene","id":334809,"avatar_url":"https://avatars.githubusercontent.com/u/334809?v=3","gravatar_id":"","url":"https://api.github.com/users/krainboltgreene","html_url":"https://github.com/krainboltgreene","followers_url":"https://api.github.com/users/krainboltgreene/followers","following_url":"https://api.github.com/users/krainboltgreene/following{/other_user}","gists_url":"https://api.github.com/users/krainboltgreene/gists{/gist_id}","starred_url":"https://api.github.com/users/krainboltgreene/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krainboltgreene/subscriptions","organizations_url":"https://api.github.com/users/krainboltgreene/orgs","repos_url":"https://api.github.com/users/krainboltgreene/repos","events_url":"https://api.github.com/users/krainboltgreene/events{/privacy}","received_events_url":"https://api.github.com/users/krainboltgreene/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-07-06T00:49:01Z","updated_at":"2015-09-11T19:57:37Z","closed_at":"2015-09-11T19:57:36Z","body":"Using vector as an example:\r\n\r\n``` ruby\r\nHamster::EmptyVector\r\nHamster.vector\r\nHamster::Vector.new\r\nHamster::Vector.empty\r\n```\r\n\r\nLets pick 1."},"comment":{"url":"https://api.github.com/repos/hamstergem/hamster/issues/comments/139647456","html_url":"https://github.com/hamstergem/hamster/issues/180#issuecomment-139647456","issue_url":"https://api.github.com/repos/hamstergem/hamster/issues/180","id":139647456,"user":{"login":"alexdowad","id":1067359,"avatar_url":"https://avatars.githubusercontent.com/u/1067359?v=3","gravatar_id":"","url":"https://api.github.com/users/alexdowad","html_url":"https://github.com/alexdowad","followers_url":"https://api.github.com/users/alexdowad/followers","following_url":"https://api.github.com/users/alexdowad/following{/other_user}","gists_url":"https://api.github.com/users/alexdowad/gists{/gist_id}","starred_url":"https://api.github.com/users/alexdowad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexdowad/subscriptions","organizations_url":"https://api.github.com/users/alexdowad/orgs","repos_url":"https://api.github.com/users/alexdowad/repos","events_url":"https://api.github.com/users/alexdowad/events{/privacy}","received_events_url":"https://api.github.com/users/alexdowad/received_events","type":"User","site_admin":false},"created_at":"2015-09-11T19:57:36Z","updated_at":"2015-09-11T19:57:36Z","body":"The `EmptyVector` (etc.) constants are now all marked as private. So they are now implementation details, not part of the API. The shortcut methods like `Hamster.vector` have all been removed.\r\n\r\nThat leaves us with `Vector.new` and `Vector.empty` which both return an empty collection. I think this resolves the issue of too many redundant API methods."}}