<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 My $0.02 is that this advice is, and always has been, hogwash. It is<br>
  a rare function that can return several valid answers. So, the<br>
  default should be to return a valid answer, i.e. one that can be<br>
  used directly, or throw an error.<br>
<br>
  My theory is that the people who wrote this "programming rule" were<br>
  (good) C programmers, and thus felt a need to check if the value<br>
  returned was ok before they dared use it.<br>
</blockquote></div><div><br>Your theory is incorrect.  The reason keysearch returns tagged result values is that the thing you're searching for might have a value of false.  Tagged results are the only way to return a value such that any value is legal; otherwise you need a placeholder value for "nothing found", which is not a tolerable admission in basic datastructure behavior.  There is no way to guarantee that every legal value in a datastructure can be unambiguously fetched without tagging.<br>

<br>Manual advice is correct.  It's generally a bad idea to call the advice in the manual hogwash when you're still guessing about the reason it was there.  This is honestly pretty 101.<br></div></div></blockquote>
<div><br>Aaaaaaaaaaaand then I drink more coffee, realize that it returns the complete tuple rather than the field, that I'm thinking of proplists and that I've made a jackass of myself.  Lovely morning for some dumb, don't you think?<br>
<br>I retract this.<br></div></div><br>