Styl Erlang - dopasowywanie wzorców przypadków do funkcji

Doszedłem do etapu, na którym napisałem już trochę kodu Erlang i widzę jakiś styl (zły lub dobry) wkradający się w sposób, w jaki to pisałem. Ten szczególny idiom, na który chciałbym mieć opinię - czy jest on lepszy (bardziej czytelny / szybszy / cokolwiek) do konwertowania instrukcji stylu case na dopasowywanie wzorców funkcji?

Na przykład.

Porównaj (wymyślony przykład)

<code>case {Size > 100000, Type} of
    {true, ets } ->
         %% Do something to convert to dets
         something;
    {false, dets} ->
         %% do something to convert to ets
         somethingelse;
    _ ->
         ignoreit
end;
</code>

z

<code>...
maybeChangeStorage(Size, Type)
...

maybeChangeStorage(Size, ets) when Size > 10000 ->
   something;
maybeChangeStorage(Size, dets) when Size < 10000 ->
   somethingelse;
maybeChangeStorage(_,_) ->
   ignoreit.
</code>

W większości przypadków wolę ten drugi, ale byłbym zainteresowany inną opinią.

questionAnswers(6)

yourAnswerToTheQuestion