insertion sort in rex
isort([]) => [];
isort([A | X]) => insert(A, isort(X));
// insert inserts the first item into a list
// in the proper place, assuming the list
// is in order
insert(A, []) => [A];
insert(A, [B | X]) =>
A < B ? [A, B | X] : [B | insert(A, X)];