///|
/// An ordinary bubble sort. The only FrontierLab-specific part is the
/// parameter type: `TracedArray` records every comparison and swap.
fn bubble_sort(a : @frontierlab.TracedArray[Int32]) -> Unit {
  for end = a.length() - 1; end > 0; end = end - 1 {
    for i in 0..