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)];