It's just a copy of pgs templates only instead of creating a table it instantiates alists. This allows me to store the order of things (even for tables).
example use:
arc> (arrange author first "First Name" last "Last Name")
((first #<procedure: gs6338>) (last #<procedure: gs6338>))
arc> (= x (actuate 'author))
((first "First Name") (last "Last Name"))
arc> x!first
"First Name"
I've used this to output large tables in CSV format, where the header and sort order is derived from an 'arrangement'.
lol. I've tried to vote for this post like 4 times. On the first day posted and today. I think andrew must have triggered the 'adding-too-much-value-thresh-hold' in pg's voting algorithm. :) or I've somehow triggered pg's 'newb-alert+ban-thresh-hold'.