Anyone have an interesting or idiomatic usage of Struct?

Other than the obvious usage for on-the-fly attr reader/writer
objects, what else can you do with this?

One use case that came to mind was for managing CSV files (esp. w/
headers).  You could create a Struct for the file, using the header
row from the file, passing a block to the new method to add a method
to initialize it based on an array (as returned from the csv reader).

Anyone have a cool usage?

Joe at CodeGear