I'm not a erlang expert but the use of the case statement is not considered a bad practice? or was the if clause instead? and it seems to me that all is kind of glued inside some sort of a try/catch defensive programming style that the really zen of erlang is completely against. Personally I don't see the need of use every tool in the same way, there is nothing wrong with the erlang syntax.
Only by people who see the world as black and white. There is absolutely nothing wrong with case.