<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">The following tests in my common_test suite:<div><br></div><div><div>    true = try ?TM:reserve(atom_to_list(Cache_Name), Cache_Module) catch error:function_clause -> true end,</div><div>    true = try ?TM:reserve(Cache_Name, atom_to_list(Cache_Module)) catch error:function_clause -> true end,</div></div><div><br></div><div>cause dialyzer to complain:</div><div><br></div><div><div style="margin: 0px; font-size: 11px; font-family: Menlo; background-color: rgb(146, 146, 146); position: static; z-index: auto;">cxy_cache_SUITE.erl:58: The call cxy_cache:reserve(string(),Cache_Module::atom()) will never return since the success typing is (atom(),atom()) -> atom() | {'error','already_exists'} and the contract is (Name,module()) -> Name | {'error','already_exists'} when is_subtype(Name,cache_name())</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; background-color: rgb(146, 146, 146); position: static; z-index: auto;">cxy_cache_SUITE.erl:59: The call cxy_cache:reserve(Cache_Name::atom(),string()) will never return since the success typing is (atom(),atom()) -> atom() | {'error','already_exists'} and the contract is (Name,module()) -> Name | {'error','already_exists'} when is_subtype(Name,cache_name())</div></div><div><br></div><div><br></div><div>Is there a better way to check for failure when a non-string is passed as an arg to a function</div><div>that expects two atoms?</div><div><br></div><div>jay</div><div><br></div></body></html>