I love racket. It helped me understand the concept of limited continuations and macros.
def qisort(list):
qshuffle(list)
if not sorted(list):
kill_observer()
Only in the universe in which th the list is sorted, the user will survive. There might be no such universe, but then the user is no longer waiting on the result.