{"comment":{"url":"https://api.github.com/repos/uabboli/otp/comments/13494660","html_url":"https://github.com/uabboli/otp/commit/17690524d597effd3410ee09e958bbd96a6ead6d#commitcomment-13494660","id":13494660,"user":{"login":"kostis","id":165033,"avatar_url":"https://avatars.githubusercontent.com/u/165033?v=3","gravatar_id":"","url":"https://api.github.com/users/kostis","html_url":"https://github.com/kostis","followers_url":"https://api.github.com/users/kostis/followers","following_url":"https://api.github.com/users/kostis/following{/other_user}","gists_url":"https://api.github.com/users/kostis/gists{/gist_id}","starred_url":"https://api.github.com/users/kostis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kostis/subscriptions","organizations_url":"https://api.github.com/users/kostis/orgs","repos_url":"https://api.github.com/users/kostis/repos","events_url":"https://api.github.com/users/kostis/events{/privacy}","received_events_url":"https://api.github.com/users/kostis/received_events","type":"User","site_admin":false},"position":19,"line":112,"path":"lib/stdlib/src/supervisor.erl","commit_id":"17690524d597effd3410ee09e958bbd96a6ead6d","created_at":"2015-09-29T14:25:25Z","updated_at":"2015-09-29T14:25:25Z","body":"My comment is not really related to the change done by this commit, but this particular line is problematic.  Specifying that some field has type the union of two opaque terms is problematic to begin with, and adding 'undefined' to it makes the situation even more problematic.  A future version of dialyzer may start warning when forming the union of an opaque and a structured type, and code like this will need to be rewritten then.\r\n\r\nOn examining the code of the module it is clear that the two types (DICT and SET) are used exclusively, depending on whether the 'restart_type' of children is 'temporary' or not, and are never mixed, which is good.  But there should be a better way of restructuring this code: perhaps make the state a map() and have different keys/types for dynamics?"}}