Erlang de Bubble Sort

なんかむかつくから、オレも。
http://d.hatena.ne.jp/t-fridge/20091108/1257692228
http://d.hatena.ne.jp/Ehren/20091110/1257869975
http://d.hatena.ne.jp/tkuro/20091111/1257913849

%% Author: mizutoom
%% Created: 2009/11/11
%% Description: TODO: Add description to sort
-module(bsort).

%%
%% Include files
%%
-include_lib("eunit/include/eunit.hrl").
%%
%% Exported Functions
%%
-export([my_bsort/1]).

%% --------------------------------------------------------------------
%% Test Functions
%% --------------------------------------------------------------------

my_bsort_test_() ->
	[
		?_assertEqual(my_bsort([1,3,2]),[1,2,3]),
		?_assertEqual(my_bsort([3,2,0,1,5,8,4,2,2,7]),[0,1,2,2,2,3,4,5,7,8])
	].

%% --------------------------------------------------------------------
%% Func: my_bsort/1
%% Returns: bsorted list
%% --------------------------------------------------------------------

my_bsort([H]) -> [H];
my_bsort(L) -> 
	[H|T] = L,
	M = lists:min(T),
	if H > M -> [M | my_bsort(L -- [M])];
	   true -> [H | my_bsort(T)]
	end.

もっといい書き方があるのか、それとも関数型でバブルソートってのがおかしいのか、とにかくこんなんになりました。
ていうか、id:tkuroの選択ソートそのままだしwww