<div dir="ltr"><div dir="ltr">The concern I have with adding lists:member/2 and similar to guards is that adds an exception to the language, since all guards today exist in the "erlang" module. If lists:member/2 is allowed in guards, why not the other functions in lists? There are also other implementation differences, such as the fact guards are not traceable and all BIFs are.</div><div dir="ltr"><br></div><div>That's not to say a new syntax is needed. For example, a new function could be added to erlang such as lists_member or is_member. I believe those reasons are what caused erlang:map_get/2 to be added instead of allowing maps:get/2 in guards.</div><div dir="ltr"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div><br></div><div><span style="font-size:13px"><div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><b>José Valim</b></span></div><div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><div><span style="font-family:verdana,sans-serif;font-size:x-small"><a href="http://www.plataformatec.com.br/" style="color:rgb(42,93,176)" target="_blank">www.plataformatec.com.br</a></span></div><div><span style="font-family:verdana,sans-serif;font-size:x-small">Skype: jv.ptec</span></div><div><span style="font-family:verdana,sans-serif;font-size:x-small">Founder and Director of R&D</span></div></span></div></span></div></div></div></div></div></div><div class="gmail_quote"><div> </div></div></div>