in reply to Can a sub generate a closure from within itself?

How about always accepting the arguments as an array?

sub instantiator { my @state = @_; sub { # work on @state } }
I think that working on @_ gives you less of a closure than you suggest.

To retain a data structure through the argument list of a sub, you need to pass a reference to it (you knew that!). Then you can do a perly case switch on ref $_[0] to return a sub specialized to the argument type.

After Compline,
Zaxo