{"action":"opened","issue":{"url":"https://api.github.com/repos/facebook/immutable-js/issues/645","labels_url":"https://api.github.com/repos/facebook/immutable-js/issues/645/labels{/name}","comments_url":"https://api.github.com/repos/facebook/immutable-js/issues/645/comments","events_url":"https://api.github.com/repos/facebook/immutable-js/issues/645/events","html_url":"https://github.com/facebook/immutable-js/issues/645","id":109585658,"number":645,"title":"Calling .map() on an instance of Record modifies the original Record","user":{"login":"bvaughn","id":29597,"avatar_url":"https://avatars.githubusercontent.com/u/29597?v=3","gravatar_id":"","url":"https://api.github.com/users/bvaughn","html_url":"https://github.com/bvaughn","followers_url":"https://api.github.com/users/bvaughn/followers","following_url":"https://api.github.com/users/bvaughn/following{/other_user}","gists_url":"https://api.github.com/users/bvaughn/gists{/gist_id}","starred_url":"https://api.github.com/users/bvaughn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvaughn/subscriptions","organizations_url":"https://api.github.com/users/bvaughn/orgs","repos_url":"https://api.github.com/users/bvaughn/repos","events_url":"https://api.github.com/users/bvaughn/events{/privacy}","received_events_url":"https://api.github.com/users/bvaughn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-02T22:55:06Z","updated_at":"2015-10-02T22:55:06Z","closed_at":null,"body":"Perhaps I'm missing something, but it seems like there is a problem with the `map()` function on records:\r\n\r\n```javascript\r\nR = Immutable.Record({\r\n  foo: undefined,\r\n  bar: undefined\r\n})\r\nr0 = new R({\r\n  foo: 'poo',\r\n  bar: 'BAR'\r\n})\r\nr1 = new R({\r\n  foo: 'FOO'\r\n})\r\nconsole.log(r1.toJS()) // Object {foo: \"FOO\", bar: undefined}\r\nr2 = r1.map(function(value, key) {\r\n  return value || r0.get(key)\r\n})\r\nconsole.log(r2) // undefined\r\nconsole.log(r1.toJS()) // Object {foo: \"FOO\", bar: \"BAR\"}\r\n```"}}