{"action":"created","issue":{"url":"https://api.github.com/repos/urbit/urbit/issues/596","labels_url":"https://api.github.com/repos/urbit/urbit/issues/596/labels{/name}","comments_url":"https://api.github.com/repos/urbit/urbit/issues/596/comments","events_url":"https://api.github.com/repos/urbit/urbit/issues/596/events","html_url":"https://github.com/urbit/urbit/issues/596","id":119410458,"number":596,"title":"? +<:(ream 'a=1') prints the world like ??","user":{"login":"dhaffey","id":145389,"avatar_url":"https://avatars.githubusercontent.com/u/145389?v=3","gravatar_id":"","url":"https://api.github.com/users/dhaffey","html_url":"https://github.com/dhaffey","followers_url":"https://api.github.com/users/dhaffey/followers","following_url":"https://api.github.com/users/dhaffey/following{/other_user}","gists_url":"https://api.github.com/users/dhaffey/gists{/gist_id}","starred_url":"https://api.github.com/users/dhaffey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhaffey/subscriptions","organizations_url":"https://api.github.com/users/dhaffey/orgs","repos_url":"https://api.github.com/users/dhaffey/repos","events_url":"https://api.github.com/users/dhaffey/events{/privacy}","received_events_url":"https://api.github.com/users/dhaffey/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-11-30T02:58:46Z","updated_at":"2015-11-30T04:56:50Z","closed_at":null,"body":"My understanding is that ? in dojo is the \"safer\" version of ?? that uses a custom type printer to avoid spraying kernel guts everywhere. If so, `+<:(ream 'a=1')` thwarts it. Note that the actual noun in question is just `%a`, not some massive core."},"comment":{"url":"https://api.github.com/repos/urbit/urbit/issues/comments/160515901","html_url":"https://github.com/urbit/urbit/issues/596#issuecomment-160515901","issue_url":"https://api.github.com/repos/urbit/urbit/issues/596","id":160515901,"user":{"login":"chc4","id":1669003,"avatar_url":"https://avatars.githubusercontent.com/u/1669003?v=3","gravatar_id":"","url":"https://api.github.com/users/chc4","html_url":"https://github.com/chc4","followers_url":"https://api.github.com/users/chc4/followers","following_url":"https://api.github.com/users/chc4/following{/other_user}","gists_url":"https://api.github.com/users/chc4/gists{/gist_id}","starred_url":"https://api.github.com/users/chc4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chc4/subscriptions","organizations_url":"https://api.github.com/users/chc4/orgs","repos_url":"https://api.github.com/users/chc4/repos","events_url":"https://api.github.com/users/chc4/events{/privacy}","received_events_url":"https://api.github.com/users/chc4/received_events","type":"User","site_admin":false},"created_at":"2015-11-30T04:56:50Z","updated_at":"2015-11-30T04:56:50Z","body":"Ok, I'm now convinced that something terrible is happening.\r\n\r\nThe return type of `++ream` is a `++tile`. Getting the tail of that should just be same type as the tail of all the fork case - this is actually what happens if you do something like `? +:*$&([%a @ud] [%b @tas])`, which gives the correct type of `@ud @tas`. Somehow, the compile is just throwing up and giving the type of +:a to either a raw atom (which crashes when it tries to print, due to the cores in some cases of ++twig) or something else entirely. I honestly can't figure out how in the world `+<:a` would *ever* get the `i=%a` face, for example, since it's only used in a couple places in the stdlib: `++list` and two cases of `++type`, neither of which should be possible.\r\n```\r\n=a (ream 'a=1')\r\n? ?+(a ~ [%ktts *] +<:a) -> p=p=%a, what *should* be printed\r\n+<:a -> i=%a, no clue how it gets this. At best it should just be a raw atom, like +:a is printed as.\r\n```\r\n\r\nThe only way I can imagine it getting the `i=%a` face is it somehow being transmuted to the type from %smdq, (list beer), which obviously shouldn't happen."}}