Hello Jonathan, hello list.<br><br>In _some_ cases to avoid such validation nesting I use try/catch and pattern matching:<br><br> try<br> v1 = proplists:get_value(p1, L),<br> v2 = proplists:get_value(p2, L),<br> v3 = proplists:get_value(p3, L)<br> catch<br> _:_ -><br> %% handle exception here and return<br> %% or re-throw it<br> false<br> end<br><br>But you should clearly understand what code you will wrap with try/catch. It is possible hide some errors inside this block,<br>so i try not not wrap complex logic inside, only some input validators.<br>