<div dir="ltr"><div dir="ltr">I think all of the special with proplist simply cuts down to the fact that proplist's types are exported. </div><div dir="ltr">If you made your own module with types you'll get same "working" dialyzer.<br><br>myprops.erl<br>--------------<br>-module(myprops).<br>-type property() :: atom() | tuple().<br>-type proplist() :: [property()].<br><br>-export_type([proplist/0, property/0]).<br><br>test.erl<br>-----------<br>-spec test() -> myprops:proplist().<br><br>Perhaps it is somehow connected with the "dynamic" nature of exported types in the eyes of the dialyzer.<br>Sorry I can't say more than this. I've never dug so deep with the dialyzer.<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote></div>
</blockquote></div>
</blockquote></div></div>