Has this been reported already?
http://www.erlang.org/doc/efficiency_guide/part_frame.html
Under Common Caveats, 3.4 length/1:
"foo(L) when length(L) >= 3 ->
...
can be rewritten to
foo([_,_,_]=L) ->
..."
The two declarations are of course not equivalent.
The alternative should rather be:
foo([_,_,_|_] = L) ->
...
BR,
Ulf W