* With higher-order functions:
<pre class="brush:xquery">
let $sort-by := functionsort($f?, $seq) { for $x in $seq order by $f($x) return $x }let $sort := $sort-by(hof:id#1, ?), let $reverse-sort := $sort-by(?, function($x) { -$x }, ?)
return (
$sort((1, 5, 3, 2, 4)),